Logstash mit Elasticsearch und Kibana

Aus Cowwwiki
Version vom 16. November 2014, 10:33 Uhr von Benjaminfras (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Mit Logstash, Elasticsearch und Kibana ist es nun für jedermann möglich die eigenen Logs zu analysieren und auszuwerten. Alle verwendeten Tools sind Open Sou…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Mit Logstash, Elasticsearch und Kibana ist es nun für jedermann möglich die eigenen Logs zu analysieren und auszuwerten. Alle verwendeten Tools sind Open Source und somit kostenfrei. Grenzen sind der Auswertung so gut wie keine gesetzt. Voraussetzung ist allerdings, dass man sich mit seinen Logs auseinandersetzt und sie strukturiert. Je strukturierter die Logs, desto besser lassen sich später die Daten verknüpfen und auswerten.

Voraussetzungen

Es gibt mehrere Möglichkeiten, wie Logstash, Elasticsearch und Kibana zusammenarbeiten wollen. In diesem Tutorial wird die Konfiguration wie folgt aussehen:

  • Server, z. B. logstashserver
    • elasticsearch
    • logstash
  • Clients, z. B. webserver
    • logstash-forwarder


Logstash benötigt Java. Wer auf seinen Clients Java schon installiert hat, kann auf den Logstash-Forwarder verzichten und Logstash direkt auf dem Client installieren. Logstash würde dann von den Clients in Elasticsearch schreiben. Wenn man nicht überall Java installieren möchte, kann man nach diesem Tutorial vorgehen. Anstelle von Logstash wird nämlich auf den Clients ein sog. Logstash-Fowarder eingerichtet, welcher über das Lumberjack-Protokoll (Port 5000 tcp) die Logs an den Logstash-Server schickt. Der Logstash-Server muss für diesen Zweck eine Input-Konfiguration besitzen und verarbeitet die Logs dann mit den entsprechenden Filtern und schickt sie an Elasticsearch.

Installation

Dieses Tutorial ist auf Basis von Ubuntu 12.04 LTS aufgesetzt. Mit anderen apt-basierten Systemen sollte das Vorgehen ähnlich laufen.

Elasticsearch

Bevor sich Elasticsearch installieren lässt, muss ein PPA hinzugefügt werden. Dazu wird zuerst der GPG-Key hinzugefügt und anschließend die neue Paketquelle in die Apt-Listen hinzugefügt:

wget -qO - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elasticsearch.org/elasticsearch/1.4/debian stable main" > /etc/apt/sources.list.d/elasticsearch.list
apt-get update && apt-get install elasticsearch


Nach der Installation sollten folgende Hardeningmaßnahmen vorgenommen werden. Dazu wird die Datei /etc/elasticsearch/elasticsearch.yml geöffnet und um folgende Parameter ergänzt bzw. angepasst:

script.disable_dynamic: true
network.host: localhost


Elasticsearch ist nun einsatzbereit und kann über das Init-Script gestartet werden. Damit es beim Booten automatisch startet muss der Service allerdings noch in die entsprechenden Run-Level eingetragen werden

update-rc.d elasticsearch defaults 95 10


Quellen

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-repositories.html

https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-and-visualize-logs-on-ubuntu-14-04

https://www.digitalocean.com/community/tutorials/adding-logstash-filters-to-improve-centralized-logging