DevOps Pokročilý
Grafana Loki — Log Aggregation¶
LokiLoggingGrafanaObservability 6 min čtení
Grafana Loki pro centralizovaný sběr logů. Architektura, LogQL dotazy, label design a integrace.
Proč Loki¶
Loki je „Prometheus pro logy” — indexuje pouze labels, ne obsah logů. Řádově nižší náklady než Elasticsearch.
- Label-based indexing
- Kompatibilní s Prometheus labels
- Object storage backend
- Nativní integrace s 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¶
# Základní filtr
{namespace="production", app="api-server"} |= "error"
# JSON parsing + filtr
{app="api-server"} | json | level="error" | status >= 500
# Metriky z logů
sum(rate({app="api-server"} |= "error" [5m])) by (namespace)
# Top 10 nejčastějších chyb
topk(10, sum by (error_type) (
count_over_time({app="api-server"} | json | level="error" [1h])))
Label Design¶
- ✅ Nízká kardinalita:
namespace,app,environment,level - ❌ Vysoká kardinalita:
user_id,request_id,IP - Pravidlo: max 10-15 unikátních label kombinací per stream
Shrnutí¶
Loki nabízí cost-effective log aggregation díky label-based indexingu. LogQL a nativní Grafana integrace umožňují korelaci logů s metrikami a traces.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.