Logujete do souborů na 10 serverech? Tady je centralizované řešení za 10 minut.
Stack: Loki + Promtail + Grafana¶
Loki je „Prometheus pro logy” — lightweight, integruje se s Grafana.
Docker Compose¶
services:
loki:
image: grafana/loki:latest
ports: [“3100:3100”]
promtail:
image: grafana/promtail:latest
volumes:
- /var/log:/var/log
- ./promtail.yml:/etc/promtail/config.yml
grafana:
image: grafana/grafana:latest
ports: [“3000:3000”]
Promtail config¶
server: { http_listen_port: 9080 }
clients: [{ url: “http://loki:3100/loki/api/v1/push” }]
scrape_configs:
- job_name: system
static_configs:
- targets: [localhost]
labels: { job: varlogs, __path__: /var/log/*.log }
Strukturované logování¶
// JSON logy místo plain text
console.log(JSON.stringify({
level: “error”,
msg: “request failed”,
status: 500,
path: “/api/users”,
duration_ms: 1234
}));
Grafana queries¶
{job=”varlogs”} |= “error”
{job=”app”} | json | status >= 500
Tip¶
Logujte strukturovaně (JSON), tagujte prostředí a službu. Nastavte retenci na 30 dní.