© MOLPIX/Shutterstock.com
Elastic Stack aus Containern betreiben

Logging leicht gemacht


Serverlogs wachsen einem schnell über den Kopf, vor allem bei im großen Maßstab ausgerollten Applikationen. Der Elastic Stack bietet ausgereifte Komponenten für das Einsammeln und zentrale Auswerten von Logmessages, in dessen Zentrum die Big-Data-Suchmaschine Elasticsearch steht. Dieser Artikel zeigt, wie Sie eine einfache Log Shipping Pipeline mit Elastic-Elementen aus Docker-Containern heraus aufsetzen.

Logmeldungen sind kostbare Datensammlungen für die Fehleranalyse, Funktions- und Zugriffskontrolle von Computersystemen. Auf einem einzelnen Linux-Server gibt es bereits eine ganze Reihe von Logerzeugern: Eine darauf betriebene Applikation gibt normalerweise laufend Statusmeldungen aus, genauso die eingesetzte Middleware sowie das Betriebssystem mit Kernel und Services. Bei einer einfachen Wordpress-Installation zum Beispiel genügen Administrationsbordmittel wie grep, cut und tail eventuell noch, um die aufkommende, nicht geringe Menge an Logdaten zu bewältigen. Bei im großen Maßstab und auf vielen Knoten ausgerollten Applikationen ist es allerdings nicht mehr möglich, sich etwa bei einem Systemausfall der Reihe nach auf einzelnen Maschinen einzuloggen und dort unter Zeitdruck mit Texttools nach relevanten Logmeldungen zu suchen. Anstatt sich Werkzeuge für das zentrale Einsammeln und Auswerten von Logs selbst zu basteln, kommen für die Logaggregation heutzutage professionelle Lösungen zum Einsatz, die auf Enterprise-Niveau arbeiten können und zu denen der Elastic Stack [1] gehört.

Elastic Stack

Der Elastic Stack (auch „ELK-Stack“) ist eine Sammlung von einzelnen Komponenten für die Logverarbeitung, in deren Mittelpunkt die hoch performante Suchmaschine Elasticsearch steht. Sie ist in Java implementiert, setzt auf der Volltextsuchebibliothek Apache Lucene [2] auf und ist für ein massives Datenaufkommen im Bereich Big Data ausgelegt. Zusammen mit der Visualisierungsplattform Kibana bildet Elasticsearch ein mächtiges Gespann für die Analyse von Daten im NoSQL- beziehungsweise JSON-Format, deren Funktionalität auch über den speziellen Anwendungszweck der zentralen Sammlung und Auswertung von Serverlogdaten hinausgeht. Um eine Log-Shipping-Pipeline aufzusetzen, also Systemmeldungen von Servern einzusammeln und in Elasticsearch hineinzubekommen, existieren im Elastic Stack weitere Komponenten.

Da gibt es zunächst einmal das mittlerweile in JRuby geschriebene Logstash [3], das zum Einsammeln von Logdaten (als „Shipper“) wie etwa auf Servern eingesetzt werden k...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang