Logfile-Analysen helfen Administratoren und Entwicklern, Anwendungen zu optimieren und Systeme stabiler und sicherer zu gestalten. Die Auswertung von Statistiken über Seitenzugriffe oder Kennzahlen im Hinblick auf die Nutzung einer Website beziehungsweise eines Webservers können mit Methoden wie der Predictive Analysis kombiniert werden. Dies eröffnet neue Möglichkeiten für ein innovatives Server-Design.
Die ständig wachsende Menge an Logfiles ist in diesem Zusammenhang ein Schatz und Problem zugleich. Das Open-Source-Produkt Elastic Stack aus der niederländischen Software-Schmiede Elastic bietet eine einfache und kostensparende Lösung für die sinnvolle Nutzung von Logdateien. Dabei besteht der Elastic Stack aus den Tools Elasticsearch, Logstash, Kibana und Beats.
Datenmenge steigt immens durch verändertes Nutzerverhalten
Noch vor zehn Jahren war das Archivieren und Durchsuchen von Logdateien im Vergleich zu heute leicht zu bewältigen. Zwar stieg die Datenmenge in den Anfangszeiten von Smartphone & Co. an, sie war aber überschaubar. Das hat sich heutzutage fundamental geändert. Das Internet bestimmt den Alltag. Das Smartphone ist immer und überall „on“ und hat bei den bis 55-Jährigen das Laptop längst abgelöst. Über das Gerät lassen sich E-Mails, WhatsApp-Nachrichten oder die neusten Facebook-Posts checken. Die Bahn-App unterstützt die Suche nach der nächsten Zugverbindung und bietet den Onlinekauf des passenden Tickets gleich mit an. Wenn es langweilig wird, stehen unzählige Spiele, Nachrichtenseiten oder Podcasts zur Unterhaltung zur Verfügung. Bei einer Untersuchung hat das Marktforschungsunternehmen best research GmbH im Auftrag von Telefónica Deutschland herausgefunden, dass das Smartphone für 74 Prozent der 18- bis 29-Jährigen und 69 Prozent der 30- bis 49-Jährigen immer stärker zu ihrer persönlichen Zentrale der Unterhaltung und Entspannung wird. 67 Prozent der 30- bis 49-Jährigen und 77 Prozent der 18- bis 29-Jährigen überbrücken Wartezeiten mit Unterhaltungsangeboten aus dem Netz. Ohne Handy verbringen die meisten kaum noch Zeit: Lediglich 22 Prozent aller Befragten legen in ihrer Freizeit das Smartphone länger als 60 Minuten aus der Hand, bei den 18- bis 29-Jährigen sind dies nur sieben Prozent. Das dokumentieren auch schnelle Reaktionszeiten und das Teilen von Erlebnissen in Echtzeit, Musikhören über das Handy wird zudem immer beliebter.
Logfile-Analysen nur noch mit innovativen Tools sinnvoll
Dieses Nutzerverhalten produziert eine riesige Datenmenge – wer hat wann und wo welche Applikation aufgerufen? Die Aufzeichnung von Log-Aktivitäten steht keineswegs im Widerspruch zum Datenschutz, ganz im Gegenteil: Die EU-Datenschutzgrundverordnung (EU-DSGVO) verlangt sogar die Speicherung von Systemaktivitäten, um dem Gesetzgeber Zugriffe auf Nachfrage hin zweifelsfrei dokumentieren zu können. Durch das beschriebene Userverhalten produzieren Betriebssysteme, Datenbanken, Scheduler und Anwendungen unaufhörlich und immer mehr Protokolldateien – also Logfiles – mit Informationen über die Prozessabläufe. Um solche Informationen strukturiert aufzubereiten, sie zu standardisieren und Compliance konform handhaben zu können, bedarf es einer leistungsfähigen Infrastruktur. Das erklärt, warum Monitoring, Ressourcenplanung und Fehlersuche IT-Experten zunehmend vor Herausforderungen stellt.
Früher reichten Tools wie Rsyslog – ein Standard zur Übermittlung von Log-Meldungen in einem IP-Netzwerk – völlig aus, um die Menge der durch Web- und Applikationsserver anfallenden Dateien zu verarbeiten. Die Daten wurden meist auf einem einzelnen Server gespeichert. In Anbetracht der heutigen Datenmenge hat sich dieses Verhältnis geändert: Der Speicher ist irgendwann voll, zusätzlicher Speicherplatz teuer. Darüber hinaus nutzt die Cloud-Technologie Server, die flexibel entstehen und wieder verschwinden. Dann sind auch die Logdateien weg. Dafür, dass dieser Fall nicht eintritt, eignen sich die Open Source Tools von Elastic. Sie haben sich aufgrund ihrer guten Skalierbarkeit durchgesetzt und werden zunehmend für das Monitoring von Zugriffen sowie bei der Fehlersuche eingesetzt.
Mit Elasticsearch Logfiles durchsuchen und speichern
Elasticsearch ist eine verteilte RESTful-Suchmaschine und -Analytics Engine. Der Architekturstil REST (Representational State Transfer) bildet immer häufiger die Basis für das Design von Web Services. Die Ergebnisse der Suchmaschine Elasticsearch werden in einer – nicht-relationalen, horizontal skalierbaren – NoSQL-Datenbank gespeichert. Die Datenbank ermöglicht es, Logdateien schnell und einfach zu durchsuchen und die Zusammenhänge transparent zu machen. Das Tool ist explizit darauf ausgelegt, preiswert in die Breite zu skalieren. Anstatt immer größere und teurere Server einzusetzen, lässt sich die Datenspeicherung mit Elasticsearch auf mehrere kleinere Server verteilen. Das Vorgehen führt zu einem weiteren Vorteil: Die Vorhaltezeit für die Logs ist nahezu unbegrenzt. Bei Bedarf können die Daten Monate oder Jahre gespeichert werden.
Mit Logstash Logfiles konsolidieren und durchsuchbar machen
Logstash von Elastic ist eine serverseitige Open-Source-Software zur simultanen Verarbeitung von Datenströmen aus unterschiedlichen Quellen. Die Daten können anschließend umgewandelt und an einen bestimmten Speicherort weitergeleitet werden. Als Logserver mit eingebauten Analysetools kann Logstash die Protokolle vieler Server zentral archivieren. Gleichzeitig macht das Tool die Daten – quasi nebenbei – durchsuchbar: Es sammelt die Logdateien, bereitet sie auf, schickt sie an einen zentralen Logstash-Server und schreibt sie in Elasticsearch. Das heißt, Logstash fasst jeden Logeintrag, der eine oder mehrere Zeilen umfasst, zu einer Entität zusammen und schreibt diese anschließend in die Datenbank. Anstatt verteilt, liegen zusammengehörende Einträge nun zusammengefügt vor. Die Anzahl, Art und Weise der Datenaufbereitung bestimmt der Nutzer. Alternativ kann der zentrale Logstash-Server Logs von Tools wie Rsyslog annehmen und wie beschrieben aufbereiten.
Logstash stellt eine Sammlung von Fehlerquellen zur Verfügung. Mit dieser lassen fehlerhafte oder problematische Server leicht identifizieren. Doch nicht nur das: Aufgrund der vollständigen Erfassung von Webserver- und Datenbank-Server-Logs kann der Zusammenhang verschiedener Probleme sehr gut erkannt werden.
Mit Kibana Daten visualisieren
Mit Kibana von Elastic steht schließlich ein Webfrontend zur Verfügung, mit dessen Hilfe sich die gesammelten Daten visualisieren und im Elastic Stack navigieren lassen. Das Tool kann die Daten lesen, nach Belieben filtern und daraus je nach Sinn und Ziel ansprechende Visualisierungen erstellen.
Die Anwendungsszenarien sind vielfältig: Die IT-Leitung kann beispielsweise eine einfache Übersicht über die Auslastung der Webserver im Unternehmen erhalten. Zusätzlich ist ein Vergleich der Aufrufe einer Website aus verschiedenen Ländern möglich. Die Historie zeigt den Verlauf der Zugriffe über einen sehr langen Zeitraum an. Daraus lassen sich Aussagen für die Zukunft ableiten. Ein weiteres Beispiel ist das Betreiben mehrerer Webseiten auf einem Server. Reagiert ein Server langsam, ist schnell klar, ob die Ursache im immensen Traffic liegt. Mit Kibana lässt sich leicht herausfinden, welche Website den starken Traffic verursacht. Bei Bedarf können Ressourcen daraufhin neu geplant werden: Liegt die stark besuchte Website eventuell auf einem anderen Server, werden die übrigen Seiten nicht gestört. Gleiches gilt für häufig aufgerufene Bilder und Videos. Die Beispiele zeigen: Die Visualisierung der Daten mit Kibana vereinfacht die Kampagnen- und Ressourcenplanung um ein Vielfaches.
Mit Beats das Maximum aus den Daten herausholen
Beats ist das neueste Tool im Elastic Stack. Es bietet mit operativen Analysen Einblicke in Konfigurationen, Kapazität, Fehler und Events der Server- und Netzwerkinfrastruktur-Elemente in Rechenzentren oder Cloud-Infrastrukturen. Die Beats-Plattform sendet die Events sicher und geschützt an Logstash und Elasticsearch. Aktuell sind sieben Beats verfügbar:
Nummer | Name | Funktion |
1 | Filebeat | Filebeat übernimmt das Weiterleiten der Logdateien. Die Tool-Konfiguration erfolgt unkompliziert nach der Installation: Auf den Servern werden nur die Pfade konfiguriert, die Filebeat absuchen soll. |
2 | Metricbeat | Die Metriken aus Systemen und Diensten liefern wertvolle Informationen. Metricbeat sendet solche Statistiken ans gewünschte Ziel – auch kompatibel zu AWS, CloudWatch oder Prometheus. |
3 | Packetbeat | Packetbeat stellt Echtzeit-Analysen für das Internet, Datenbanken und andere Netzwerkprotokolle bereit. Dafür setzt es Anfrage und Antwort in einer Transaktion zueinander in Beziehung und fügt die Daten über jede Transaktion in Elasticsearch ein. Damit überwacht es die Kommunikation zwischen den Servern im Netzwerk und stellt Einblicke in die Anwendungen zur Verfügung. |
4 | Winlogbeat | Winlogbeat dient dem Monitoring von windows-basierten Infrastrukturen. Das Tool streamt Windows-Ereignisprotokolle an Elasticsearch und Logstash. |
5 | Auditbeat | Auditbeat ermöglicht das Erfassen von Linux-Audit-Framework-Daten und die Überwachung der Integrität dieser Dateien. Die entsprechenden Ereignisse werden in Echtzeit zur weiteren Analyse an den Rest des Elastic Stack gesendet. |
6 | Heartbeat | Mit Heartbeat lässt sich durch aktives Testen die Verfügbarkeit verschiedener Dienste überwachen. Unter Abarbeitung einer Liste von URLs stellt das Tool Komponenten und Diensten im System die einfache Frage: Bist du noch da? Heartbeat sendet diese Information und die Reaktionszeit zur weiteren Analyse an den Rest des Elastic Stack. |
7 | Functionbeat | Functionbeat ist ein serverloser „Shipper“ für Cloud-Daten: Es wird als Funktion in der FaaS-Plattform (Function-as-a-Service) eines Cloud-Anbieters bereitgestellt. Mit Functionbeat können Daten aus Cloud-Diensten gesammelt, versendet und überwacht werden. |
Basis der Beats-Plattform ist die Libbeat-Bibliothek. Sie ist in der Open-Source-Programmiersprache Go geschrieben und wird auch als „golang“ bezeichnet. Von Google entwickelt, verfolgt sie das Ziel, für große Systeme skalierbar zu sein. Darüber hinaus dient das Programm Networking- und Multiprocessing-Zwecken. Typische Anwendungsgebiete sind Netzwerkanalysen oder die Überprüfung der Systemauslastung.
Alle Anwendungen sind günstig und einfach zu bedienen
Das Zusammenspiel von Elasticsearch, Logstash, Kibana und Beats vereinfacht das Monitoring von Web- und Applikationsservern: Schwer konsolidierbare Daten können ausgewertet werden. Das Elastic-Paket macht Datenkonglomerate transparent und nutzbar, zum Beispiel als Entscheidungsgrundlage für ein zukünftiges Server-Design. Die Kosten für die Nutzung sind gering, die Open Source Tools einfach in der Anwendung. Das gilt für jede Applikation, unabhängig von deren Größe. Außerdem sind die Anwendungen für jeden einfach zugänglich.
Generell ist beim Einsatz der verschiedenen Tools wichtig, sich vorab genau zu überlegen, was das Ziel der Datensammlung und -auswertung sein soll. Unternehmen unterschätzen diesen Aspekt schnell: Eine Datensammlung allein hat noch keinen Nutzen. 300 Millionen Einträge von einer Applikation sind schnell gesammelt. Sie sind jedoch sinnlos, wenn unklar ist, was damit passieren soll. Die Tools sind im Sammeln und Aufbereiten von Daten nicht wählerisch. Es empfiehlt sich deshalb, frühzeitig darüber nachzudenken, was am Ende mit den Daten erreicht werden soll und dann nur die dafür notwendigen Daten zu sammeln. Für Einsteiger hat Elastic Stack den Vorteil, dass sie die Funktionen zunächst anhand kleinerer Applikationen erproben können.
Fazit: Das Gesamtkonzept ist wichtig
Das Zusammenspiel der für jeden kostenfrei zugänglichen Open Source Tools des Elastic Stack ermöglicht das einfache Konsolidieren, Durchsuchen, Speichern und Auswerten von Logdateien. Es eröffnet umfassende Einblicke in Konfigurationen, Kapazität, Fehler und Events einer Server- und Netzwerkinfrastruktur in Rechenzentren oder Cloud-Infrastrukturen.
In Elasticsearch können Logfiles indexiert werden. Logstash dient der simultanen Verarbeitung von Datenströmen aus unterschiedlichen Quellen und ermöglicht anschließend die Umwandlung und Weiterleitung der Daten an unterschiedliche Speicherorte. In Kibana können die Datenströme visualisiert werden, und die Beats-Plattform hilft, Server- und Netzwerkinfrastruktur-Elemente in Rechenzentren oder Cloud-Infrastrukturen im Blick zu behalten. Kurz: Mit Elastic Stack lassen sich Logdateien schnell aufbereiten, unabhängig davon, aus wie vielen und aus welchen Quellen sie stammen. Die Elastic-Stack-Familie bietet ein kostengünstiges, leicht zugängliches Tool-Set, mit dem Server- und Cloudarchitekturen sicherer und zukunftsfähig werden können – vorausgesetzt die Analysten haben ein zielgerichtetes Konzept zur Datenauswertung.File