Logstash Monitoring und Alerting einrichten – Guide

Logstash Monitoring und Alerting einrichten – Guide

En bref :

Kurz gesagt :

  • Logstash-Monitoring nutzt die native REST-API (Port 9600), Metricbeat und Kibana-Dashboards zur frühzeitigen Erkennung von Performance-Engpässen.
  • Alerting-Regeln sollten für kritische Metriken wie JVM-Heap (Ziel unter 75%), Queue-Größe und Event-Durchsatz eingerichtet werden.
  • Persistente Queues verhindern Datenverluste und unterstützen die RGPD-konforme Nachvollziehbarkeit, die von der CNIL in Frankreich gefordert wird.
  • Die Monitoring-API muss konfiguriert (http.host, http.port) und der Zugriff auf interne Netzwerke beschränkt werden, um Sicherheitsrisiken zu vermeiden.
  • Überwachen Sie Logstash mit der nativen Monitoring-API, Metricbeat und Kibana-Dashboards – so erkennen Sie Performance-Engpässe frühzeitig.
  • Richten Sie Alerting-Regeln für kritische Metriken wie JVM-Heap, Queue-Größe und Event-Durchsatz ein.
  • Vermeiden Sie Datenverluste durch persistente Queues und schützen Sie Ihre Daten RGPD-konform in der EU.
  • Nutzen Sie vorgefertigte Dashboards und passen Sie sie an Ihre Infrastruktur an.

Warum Logstash ohne Monitoring und Alerting ein Risiko ist

Logstash ist das Herzstück Ihrer Datenpipeline – fällt es aus, stehen Ihre Analysen still. Ohne Monitoring tappen Sie im Dunkeln. Ich habe in 15 Jahren genug Ausfälle gesehen, die vermeidbar gewesen wären.

In Frankreich ist die Lage besonders kritisch: Die CNIL verlangt eine lückenlose Nachvollziehbarkeit von Datenverarbeitungen. Ein unentdeckter Logstash-Ausfall kann zu Datenverlust führen – das ist nicht nur ärgerlich, sondern kann Bußgelder nach sich ziehen.

Deshalb zeige ich Ihnen hier einen kompletten Leitfaden, wie Sie Logstash professionell überwachen und Alerts einrichten – von den Grundlagen bis zu fortgeschrittenen Techniken.

1. Die wichtigsten Metriken für Ihre Logstash-Instanz

Die zentralen Metriken, die Sie im Blick behalten sollten, sind Event-Durchsatz, Queue-Größe, JVM-Heap-Nutzung und CPU-/I/O-Wartezeiten – sie verraten Ihnen den Gesundheitszustand Ihrer Pipeline.

Warum diese Metriken entscheidend sind

  • Event-Durchsatz: Misst, wie viele Ereignisse pro Sekunde verarbeitet werden. Ein plötzlicher Abfall kann auf einen Filter-Fehler hinweisen.
  • Queue-Größe: Die persistente Queue puffert Ereignisse. Eine wachsende Queue deutet auf einen Stau hin – ein Alarmsignal für Engpässe.
  • JVM-Heap-Nutzung: Logstash läuft auf der Java Virtual Machine. Ein Heap über 85% kann zu OutOfMemory-Fehlern führen.
  • CPU- und I/O-Wartezeiten: Hohe Wartezeiten bremsen die gesamte Pipeline. Gerade bei Cloud-Servern in Frankreich (OVHcloud, Scaleway) ist das ein häufiges Problem.

Die richtigen Ziele für Ihre Infrastruktur definieren

Für eine kleine oder mittlere Firma in Frankreich empfehle ich, den JVM-Heap unter 75% zu halten – das habe ich in meinen Projekten als robusten Wert erlebt. Bei der Queue-Größe sollten Sie einen Schwellwert festlegen, der auf Ihrem Durchsatz basiert.

Sie können sich fragen: Welche Werte sind für mich realistisch? Das hängt von Ihrer Hardware und Ihrem Datenaufkommen ab. Aber es ist besser, konservative Ziele zu setzen, als gar keine.

2. Die Monitoring-API von Logstash aktivieren

Die Monitoring-API ist eine REST-Schnittstelle, die Logstash standardmäßig auf Port 9600 bereitstellt – Sie müssen sie nur konfigurieren und können dann Metriken abrufen.

Was ist die Monitoring-API?

Sie liefert detaillierte Informationen über den Zustand Ihrer Logstash-Instanz, wie Ereignisstatistiken, JVM-Daten und Pipeline-Details. Das ist die Grundlage für alles Monitoring.

Konfiguration der API in der logstash.yml

Öffnen Sie die Datei logstash.yml und fügen Sie Folgendes hinzu:

http.host: "0.0.0.0"
http.port: 9600
http.cors.enabled: true
http.cors.allow-origin: "*"

Achten Sie darauf, die API nicht öffentlich zugänglich zu machen – das wäre ein Sicherheitsrisiko. Beschränken Sie den Zugriff auf interne Netzwerke oder nutzen Sie Firewall-Regeln.

Die API testen

  1. Öffnen Sie ein Terminal.
  2. Führen Sie curl http://localhost:9600/_node/stats aus.
  3. Überprüfen Sie die JSON-Ausgabe auf die Felder events und jvm.

Wenn Sie eine Antwort sehen, funktioniert die API. Jetzt können wir mit der eigentlichen Überwachung beginnen.

3. Metriken mit Metricbeat sammeln (Best Practice)

Metricbeat ist das leichtgewichtige Tool aus dem Elastic Stack, das Metriken direkt von Logstash abgreift und an Elasticsearch sendet – das ist der zuverlässigste Weg.

Warum Metricbeat statt Skripte?

Skripte sind fehleranfällig und schwer zu warten. Metricbeat ist offiziell unterstützt, verbraucht kaum Ressourcen und kann sofort mit Kibana-Dashboards arbeiten.

Installation und Konfiguration von Metricbeat

Installieren Sie Metricbeat auf demselben Host wie Logstash. In der Datei metricbeat.yml aktivieren Sie das Logstash-Modul:

metricbeat.modules:
- module: logstash metricsets: ["node", "stats"] period: 10s hosts: ["localhost:9600"]

Dann senden Sie die Daten an Elasticsearch:

output.elasticsearch: hosts: ["https://mein-cluster:9200"] username: "elastic" password: "ihr-passwort"

Den Datenstrom an Elasticsearch senden

In Frankreich sollten Sie darauf achten, dass Ihr Elasticsearch-Cluster in der EU gehostet wird – zum Beispiel bei Elastic Cloud in Paris oder bei einem lokalen Anbieter. So bleiben Ihre Daten RGPD-konform.

4. Dashboards in Kibana erstellen

Kibana bietet vorgefertigte Dashboards für Logstash-Metriken, die Sie mit einem Befehl importieren und sofort visualisieren können.

Die vorgefertigten Dashboards nutzen

Führen Sie metricbeat setup --dashboards aus, um alle Standard-Dashboards zu laden. Das spart Zeit und gibt Ihnen eine solide Basis.

Ein eigenes Dashboard für die Queue-Größe bauen

Manchmal brauchen Sie individuelle Ansichten. Ich habe zum Beispiel ein Flächendiagramm erstellt, das die Queue-Größe über die Zeit zeigt – so sehe ich auf einen Blick, ob sich ein Stau aufbaut. Das ist ein einfacher, aber effektiver Trick.

5. Alerting-Regeln für Logstash einrichten

Mit Elastic Alerting (über Watcher oder Kibana-Alerts) können Sie Benachrichtigungen auslösen, wenn Metriken kritische Werte überschreiten – das ist der Kern eines proaktiven Monitorings.

Die Grundlagen von Elastic Alerting

Sie können entweder die kostenpflichtige Watcher-Funktion nutzen oder die in Kibana integrierten Alerting-Regeln (verfügbar in der Basic-Lizenz). Beide funktionieren ähnlich.

Eine Alert-Regel für hohe JVM-Auslastung erstellen

Hier ein Beispiel für eine Regel, die bei 85% Heap-Nutzung alarmiert:

PUT _watcher/watch/logstash_jvm_alert
{ "trigger": { "schedule": { "interval": "5m" } }, "input": { "search": { "request": { "indices": ["metricbeat-*"], "body": { "query": { "bool": { "filter": [ {"term": {"metricset.name": "stats"}}, {"range": {"logstash.stats.jvm.mem.heap_used_percent": {"gt": 85}}} ] } } } } } }, "actions": { "email": { "email": { "to": ["admin@example.fr"], "subject": "Logstash JVM Heap über 85%" } } }
}

Benachrichtigungskanäle einrichten

  • E-Mail: Über SMTP – in Frankreich können Sie zum Beispiel den SMTP-Server von OVHcloud oder Laposte.net verwenden.
  • Slack: Per Webhook – das ist praktisch für Teams.
  • PagerDuty: Für kritische Alerts, die eine sofortige Reaktion erfordern.

Welchen Kanal Sie wählen, hängt von Ihrer Teamstruktur ab. Ich empfehle, mindestens zwei Kanäle zu verwenden, damit Sie nichts verpassen.

6. Monitoring der Pipelines und Filter

Neben den globalen Metriken sollten Sie auch die Leistung einzelner Pipelines und Filter überwachen, um Engpässe zu identifizieren.

Warum die Filter-Leistung überwachen?

Ein langsamer Grok-Filter kann Ihre gesamte Pipeline ausbremsen. Wenn Sie sehen, dass ein Filter überproportional viel Zeit benötigt, können Sie ihn optimieren.

Die Metrik `duration_in_millis` analysieren

Rufen Sie die API auf und schauen Sie sich die Werte pro Pipeline an:

curl http://localhost:9600/_node/stats/pipelines

Die Ausgabe enthält für jeden Filter die duration_in_millis. Vergleichen Sie die Werte – der Filter mit der höchsten Dauer ist Ihr Hauptkandidat für Optimierung.

Häufige Fehler beim Einrichten von Logstash Monitoring

Ich habe im Laufe der Jahre viele Fehler gesehen – hier sind die häufigsten, die Sie vermeiden sollten.

  • Fehler 1: Die persistente Queue deaktivieren. Das führt zu Datenverlust bei einem Neustart.
  • Fehler 2: Keine Alerts auf die JVM-Heap-Nutzung setzen. Ein OutOfMemory-Fehler kann Ihre Pipeline lahmlegen.
  • Fehler 3: Die Monitoring-API öffentlich zugänglich machen. Das ist ein Sicherheitsrisiko – Daten könnten abfließen.
  • Fehler 4: Metricbeat nicht auf demselben Host installieren. Das erhöht die Netzwerklatenz und kann zu verfälschten Metriken führen.

Diese Fehler sind vermeidbar – wenn Sie sie kennen.

Häufig gestellte Fragen (FAQ)

Ist das Monitoring von Logstash mit der Open-Source-Lizenz möglich?

Ja, die grundlegenden Metriken sind kostenlos verfügbar. Einige erweiterte Alerting-Funktionen erfordern jedoch eine kostenpflichtige Lizenz (Basic oder Platinum).

Wie oft sollte ich Alerts empfangen?

Ich empfehle, nicht mehr als eine E-Mail alle 15 Minuten zu senden, um Alert-Müdigkeit zu vermeiden. Passen Sie die Intervalle an Ihre Bedürfnisse an.

Kann ich Logstash ohne Elasticsearch überwachen?

Ja, mit Prometheus und Grafana ist das möglich, aber die Integration ist weniger nahtlos. Wenn Sie bereits den Elastic Stack nutzen, bleiben Sie dabei.

Wie überwache ich Logstash in Frankreich?

Achten Sie darauf, dass Ihre Metriken in der EU gespeichert werden – zum Beispiel in einer Region wie Paris. So erfüllen Sie die Anforderungen der DSGVO.

Fazit: Ein stabiler Betrieb beginnt mit gutem Monitoring

Sie haben jetzt alle Werkzeuge, um Logstash professionell zu überwachen. Beginnen Sie mit der Aktivierung der API, sammeln Sie Metriken mit Metricbeat und richten Sie Alerts ein – das wird Ihnen viele schlaflose Nächte ersparen.

Testen Sie diese Schritte noch heute in Ihrer Testumgebung und teilen Sie Ihre Erfahrungen in den Kommentaren!

Vergleich der Überwachungsmethoden für Logstash
MethodeVorteileNachteile
Monitoring-API + SkripteKeine zusätzliche Software, flexibelWartungsaufwand, keine vorgefertigten Dashboards
Metricbeat + Elastic StackOffiziell unterstützt, Integration mit KibanaBenötigt Elasticsearch, zusätzliche Komponente
Prometheus + GrafanaOpen Source, unabhängig vom Elastic StackMehr Konfigurationsaufwand, keine native Kibana-Integration

Die Wahl hängt von Ihrer bestehenden Infrastruktur ab – aber ich persönlich bevorzuge Metricbeat, weil es die geringste Reibung bietet.

Für eine detaillierte Anleitung zur Einrichtung des Monitorings, lesen Sie unseren Artikel zur Logstash Pipeline Monitoring Konfiguration in 7 Schritten.

Anna Berger
Anna Berger
IT-Sicherheitsanalystin und Tech-Journalistin

Schon als Kind war ich fasziniert von der Logik hinter Computern und der unendlichen Welt der Daten. Was als spielerische Neugier mit dem Zerlegen alter PCs begann, entwickelte sich schnell zu einer tiefen Leidenschaft für die Informatik. Heute sehe ich es als meine Berufung, komplexe digitale Themen greifbar zu …

Tous les articles de Anna Berger →

Laisser un commentaire