Mein ELK-Stack läuft in einer kleinen VM mit nur 1,4 GB RAM. Leider war das für Logstash und Elasticsearch schnell zu wenig, sodass vor allem Logstash vom System regelmäßig „gekillt“ wurde, weil kein RAM mehr verfügbar war. Logstash hat alleine schon mit über 800 MB Verbrauch zu Buche geschlagen – Elasticsearch auch nochmal mit ca. 250 – 300 MB. Zusammen mit den anderen Diensten in der VM war das zu viel. Mit wenigen Handgriffen kann man den Speicherkonsum von beiden Komponenten allerdings schnell zügeln.
Logstash und Elasticsearch RAM-Verbrauch begrenzen
Logfiles analysieren mit Elasticsearch, Logstash und Kibana
Mit einem sogenannten ELK-Stack können Server-Logfiles zentral gesammelt, analysiert und die Analyseergebnisse graphisch repräsentiert werden. Die Analyse kann z.B. Antworten auf folgende Fragen liefern:
- Wie viele Zugriffsversuche auf meine Server wurden unternommen?
- Wie viele HTTP-Requests pro Minute verarbeitet mein Webserver?
- Wirken die Anti-Spam-Maßnahmen?
Da die Logfiles zentral gespeichert werden, ist die Analyse über viele Server hinweg sehr angenehm und einfach machbar. In diesem Beitrag soll es um die Einrichtung eines solchen ELK-Stacks gehen. Verwendet werden die Elasticsearch-Produkte Filebeat, Logstash, Elasticsearch und Kibana.