DevOps Fortgeschritten
Grafana Loki — Log-Aggregation¶
LokiLoggingGrafanaObservability 6 min Lesezeit
Grafana Loki für zentralisierte Log-Sammlung. Architektur, LogQL-Abfragen, Label-Design und Integration.
Warum Loki¶
Loki ist „Prometheus für Logs” — indexiert nur Labels, nicht den Log-Inhalt. Deutlich geringere Kosten als Elasticsearch.
- Label-basierte Indexierung
- Kompatibel mit Prometheus-Labels
- Object-Storage-Backend
- Native Integration mit Grafana
Promtail-Agent¶
server:
http_listen_port: 9080
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
target_label: app
- source_labels: [__meta_kubernetes_namespace]
target_label: namespace
pipeline_stages:
- json:
expressions:
level: level
- labels:
level:
LogQL¶
# Einfacher Filter
{namespace="production", app="api-server"} |= "error"
# JSON-Parsing + Filter
{app="api-server"} | json | level="error" | status >= 500
# Metriken aus Logs
sum(rate({app="api-server"} |= "error" [5m])) by (namespace)
# Top 10 häufigste Fehler
topk(10, sum by (error_type) (
count_over_time({app="api-server"} | json | level="error" [1h])))
Label-Design¶
- Niedrige Kardinalität:
namespace,app,environment,level - Hohe Kardinalität vermeiden:
user_id,request_id,IP - Regel: max 10-15 eindeutige Label-Kombinationen pro Stream
Zusammenfassung¶
Loki bietet kosteneffektive Log-Aggregation dank label-basierter Indexierung. LogQL und native Grafana-Integration ermöglichen die Korrelation von Logs mit Metriken und Traces.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.