Das Problem mit ELK im Homelab

Elasticsearch ist großartig. Es indexiert Logs blitzschnell, erlaubt komplexe Queries und skaliert auf Petabytes. Aber: Für einen einzelnen Server mit 8 GB RAM ist ELK ein echter RAM-Fresser.

Elasticsearch allein beansprucht gerne 4-6 GB RAM. Dazu Logstash, Kibana, und das eigentliche Kubernetes-Cluster – keine Chance auf einem typischen Homelab-Server.

Die Alternative: Grafana + Loki + Promtail

Das PLG-Stack (Promtail, Loki, Grafana) wurde von Grafana Labs als schlanke ELK-Alternative entwickelt.

Kernunterschied: Loki indexiert keine Log-Inhalte, sondern nur die Labels (Pod-Name, Namespace, Hostname etc.). Die eigentlichen Log-Zeilen werden komprimiert gespeichert. Das spart massiv Ressourcen – auf Kosten einiger Query-Features.

Ressourcenvergleich (Single Node, mittlere Last)

Tool RAM CPU
Elasticsearch 4-6 GB Hoch
Logstash 0.5-1 GB Mittel
Kibana 0.5-1 GB Niedrig
Gesamt ELK ~6-8 GB Hoch
Loki 0.1-0.5 GB Niedrig
Promtail < 50 MB/Node Minimal
Grafana 0.1-0.3 GB Niedrig
Gesamt PLG ~0.3-1 GB Niedrig

Mein Setup für typoniels.dev

Promtail (Log-Shipper)

Promtail läuft als DaemonSet auf jedem Kubernetes-Node und sammelt alle Pod-Logs automatisch ein. Konfiguration: Helm Chart, ~10 Minuten Setup.

# values.yaml für Promtail
config:
  clients:
    - url: http://loki:3100/loki/api/v1/push

Loki (Log-Storage)

Loki empfängt die Logs, komprimiert sie und speichert sie (bei mir in MinIO als S3-Backend). Single-Binary-Mode reicht für kleine Setups völlig aus.

Grafana (Visualisierung)

Grafana kennt jeder als Metriken-Dashboard. Was viele nicht wissen: Es unterstützt auch Loki als Datasource und bietet mit Explore einen direkten Log-Browser.

LogQL (die Query-Sprache von Loki) ist ähnlich wie PromQL:

{namespace="production"} |= "ERROR" | json | line_format "{{.message}}"

Wann ELK die bessere Wahl ist

  • Wenn du auf einzelne Wörter in Logs suchen musst (Loki kann das nur mit |= "suchbegriff")
  • Wenn du komplexe Aggregationen über Log-Inhalte brauchst
  • Wenn das Team bereits Kibana kennt
  • Enterprise-Umgebungen mit 50+ Nodes und Compliance-Anforderungen

Mein Fazit

Für Self-Hosted, Homelab und kleine Produktionssysteme: Grafana + Loki ist die klare Empfehlung. Die Ressourceneinsparung ist enorm, und für 95% der täglichen Debug-Arbeit reicht LogQL vollkommen aus.

Ich kombiniere Loki mit Prometheus für Metriken – beide teilen sich das Grafana-Dashboard. Das ergibt eine vollständige Observability-Plattform, die auf einem einzigen Server mit 4 GB RAM läuft.