Logfile-Analyse

Logfile-Analyse

Elasticsearch, Logstash und Kibana (ELK Stack / Elastic Stack) ist eine weit verbreitete Kombination von Lösungen, um Protokoll-Meldungen zentral zu sammeln und auszuwerten. IT-Umgebungen bestehen aus einer Vielzahl unterschiedlicher Systeme, die ihre Aktivitäten protokollieren. Meldet ein Monitoring-System wie Nagios oder Observium einen Fehler, so sind diese Logfiles oft der einzige Zugang zur Ursache. Gerade bei Hunderten von Servern, Storage-Systemen, Netzwerk-Komponenten und Anwendungen ist deren manuelle Analyse und Korrelation über verschiedene Systeme hinweg zeitaufwändig. Zudem haben viele Logfiles ein unterschiedliches Format. Logstash sammelt diese Protokoll-Daten zentral, wertet sie aus und speichert die einzelnen Meldungen strukturiert in einem Elasticsearch-Cluster. Dieser Cluster indiziert die Meldungen für eine Volltext-Suche oder eine Suche nach bestimmten Feldern. Die gespeicherten Daten visualisiert Kibana in einer flexiblen Web-Oberfläche mit verschiedenen Such-, Filter- und Auswerte-Funktionen.

Wo stehen Sie?

"Früher"

Eine Fehleranalyse anhand von Log-Dateien auf vielen miteinander zusammenarbeitenden Servern ist mit Bordmitteln zeit- und fehleranfällig.

"Gängiges Modell"

Viele unterschiedliche Log-Formate und Ziele führen zu einer unübersichtlichen Anzahl möglicher Kombinationen.

"Innovatives Modell"

Durch Umwandeln der eingehenden Daten in ein standardisiertes Format reduzieren plugin-basierte, zentrale Log-Transporteure (z.B. Fluentd oder Logstash) Komplexität und Wartungsaufwand.

Produktfeatures

  • Zentrale Speicherung von Protokoll-Daten
    • Funktion: Logstash transportiert die Protokoll-Daten aller IT-Systeme in einen zentralen Elasticsearch-Cluster.
    • Einsatzszenario: Eine zentrale Speicherung erleichtert das Auswerten und Korrelieren von Protokoll-Daten.
    • Nutzen: Recherche zur Ursache eines Fehlers an zentraler Stelle. Auch, wenn ein System kurzzeitig nicht erreichbar ist, sind dessen letzten Meldungen noch im Elasticsearch-Cluster gespeichert.
  • Vereinheitlichung der Protokoll-Meldungen
    • Funktion: Logstash wandelt mittels Filtern die unterschiedlichen Protokoll-Formate in das einheitliche und maschinenauswertbare JSON-Format um.
    • Einsatzszenario: Erst mit einem einheitlichen Format ist eine Verarbeitung der Protokolle an zentraler Stelle sinnvoll.
    • Nutzen: Das JSON-Format bietet genug Struktur, um sich automatisch auswerten zu lassen. Es ist gleichzeitig flexibel genug, jederzeit für neue Log-Formate neue Felder hinzuzufügen. Alle Protokoll-Meldungen haben ein einheitliches Zeit- und Datumsformat.
  • Indizierung der Protokoll-Daten
    • Funktion: Elasticsearch indiziert die Protokoll-Daten nach Worten und Feldern.
    • Einsatzszenario: Eine Volltext-Suche, eine Suche nach Felder-Inhalten oder eine statistische Auswertung erfordern einen schnell abrufbaren, skalierbar und dennoch zentral gespeicherten Index der betreffenden Daten.
    • Nutzen: Elasticsearch liefert die Ergebnisse einer Suche nahezu in Echtzeit, auch wenn diese über den gesammten Daten-Bestand von Monaten oder Jahren von Protokoll-Daten aller Systeme geht.
  • Modularer Aufbau
    • Funktion: Logstash ist modular aufgebaut. Viele Plugins erweitern und ergänzen die Funktionalität. Über neue Filter und reguläre Ausdrücke (etwa mit Hilfe der Grok-Sprache) lassen sich auch ungewöhnliche Protokoll-Formate einbinden. Auch Elasticsearch bietet die Möglichkeit, Plugins einzubinden.
    • Einsatzszenario: Sowohl spezielle Anforderungen, ungewöhnliche Protokoll-Formate, als auch maßgeschneiderte Benachrichtungen beim Auftreten bestimmer Meldungen lassen sich in einem modularen System umsetzen.
    • Nutzen: Ein für Ihre Umgebung maßgeschneidertes Logfile-Analyse-Setup, das mit neuen IT-Anforderungen wachsen kann.
  • Visualisieren und Auswerten der Log-Daten
    • Funktion: Kibana visualisiert die Daten. Es bietet eine interaktive Ansicht zum Suchen, Filtern und Betrachten von Protokoll-Meldungen sowie die Möglichkeit anhand von Graphen und individuellen Suchen eigene Dashboards zu erstellen.
    • Einsatzszenario: Meldet ein Monitoring-System einen Fehler lässt sich deren Ursache oft anhand einer Recherche in den Log-Meldungen klären. Bestimmte Meldungen eigenen sich auch für eine statistische Auswertung oder Langzeit-Analyse, zum Beispiel in Bezug auf die Latenz, mit der eine Web-Anwendung HTTP-Requests beantwortet, oder langsame Abfragen in einer Datenbank.
    • Nutzen: Alle Protokoll-Daten auf einem Blick in einer zentralen Oberfläche – mit Kibana und einem entsprechenden Logfile-Analyse-Setup ist dies möglich. Für eine erste Analyse ist nicht mehr erforderlich, sich direkt bei dem entsprechenden System anzumelden und mit Shell-Befehlen die Logfiles manuell auszuwerten. Ein direkter Blick auf das System, um eine Fehlerursache noch weiter einzugrenzen, ist natürlich immer noch möglich.
  • Skriptgesteuertes Auswerten, Exportieren und Aufräumen von Protokoll-Daten
    • Funktion: Im Elasticsearch-Cluster können über eine XMLRPC-Schnittstelle wiederkehrende Vorgänge automatisiert werden.
    • Einsatzszenario: Skripte ermöglichen es, Log-Files zu exportieren und aus dem Cluster zu entfernen. Für das Aufräumen und Optimieren gibt es bereits ein fertiges Plugin. Mit Skripten automatisieren Sie Aufgaben, die in dieser Form vielleicht nur in Ihrer Umgebung anfallen.
    • Nutzen: Neben dem modularen Aufbau von Logstash und Fluentd optimieren Sie mit Hilfe von Skripten Ihr Logfile-Analyse-Setup.

Wie machen wir die Lösung rund?

Wir unterstützen Sie gerne bei der Planung und Realisierung eines innovativen Logfile-Analyse-Setups. Unsere Logfile-Analyse Trainings und Schulungen statten Sie mit dem notwendigen Wissen aus.

Profitieren Sie von unserer langjährigen, intensiven Beschäftigung mit den verschiedensten Logfile-Analyse-Lösungen. Gerne teilen wir unsere Best Practices bzgl. Installation und Konfiguration mit Ihnen.

In unserer Schulung "Elasticsearch, Logstash, Kibana Logfile-Analyse mit OpenSource Tools" vermitteln wir Ihnen einen Überblick über die vorhandenen Lösungen zur Logfile-Analyse. Durch das beispielhafte Einrichten und Vergleichen der besprochenen Werkzeuge anhand verschiedener Einsatz-Szenarien erhalten Sie von uns einen Einblick in deren Möglichkeiten und Einschränkungen.

In Abstimmung mit Ihnen finden wir gemeinsam eine Lösung, die auf ihre Anforderungen passt. Wir beraten Sie gerne.

Für unterschiedliche Logquellen und Einsatzzwecke haben wir bereits fertige Konfigurationsvorlagen, auf die Sie zurückgreifen können. Je nach Bedarf passen wir diese gerne auf Ihre individuellen Bedürfnisse an.

Lösungsvarianten

Elasticsearch, Logstash und Kibana

Elasticsearch, Logstash und Kibana sind die am weitest verbreiteten Lösungen zur Logfile-Analyse. Alle Komponenten des ELK-Stacks / Elastic Stacks kommen aus einer Hand und sind deshalb besonders gut aufeinander abgestimmt. Es gibt viele Konfigurationsbeispiele und "Rezepte" für unterschiedliche Einsatzszenarien. Die Grok-Sprache macht das Hinzufügen neuer Protokoll-Formate besonders leicht.

Fluentd

Als Alternative zu Logstash kommt Fluentd in Frage. Als schlanke C+Ruby-Anwendung ist Fluentd besonders effizient. Es ist ohne Java Runtime auf dem Client einsetzbar. Fluentd puffert Daten, um im Falle eines Ausfalls keine Daten zu verlieren. Eine einfache Web-Oberfläche zur Konfiguration rundet das Potential von Fluentd ab.

Unser Tipp

Sie möchten mehr zum Thema Logfile-Analyse wissen? Kennen Sie schon unseren teamix Blog? Im folgenden Blog-Artikel  finden Sie weiterführende Informationen.

 

Erfahren Sie mehr über teamix