Loggen Sie in Dateien auf 10 Servern? Hier ist eine zentralisierte Lösung in 10 Minuten.
Stack: Loki + Promtail + Grafana¶
Loki ist „Prometheus für Logs” — leichtgewichtig, integriert sich mit 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-Konfiguration¶
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 }
Strukturiertes Logging¶
// JSON-Logs statt Plain Text console.log(JSON.stringify({ level: “error”, msg: “request failed”, status: 500, path: “/api/users”, duration_ms: 1234 }));
Grafana-Abfragen¶
{job=”varlogs”} |= “error” {job=”app”} | json | status >= 500
Tipp¶
Loggen Sie strukturiert (JSON), taggen Sie Umgebung und Dienst. Setzen Sie die Aufbewahrungsfrist auf 30 Tage.