Nachdem ich das erste mal KELF (Kibana, Elasticsearch, Logstash, Filebeat) genutzt habe, möchte ich nie wieder in mein Standard Logging analisieren zurück gehen. Es ist einfach zu Übersichtlich und schnell mit dem Elastic Stack – also hier ein kurzes Tutorial wie ihr das ganze auf eurem Ubuntu 16.04 Server installiert.
Systemdaten
Ubuntu 16.04 LTS
Elasticsearch Version 6.0
Java Version 1.8.0_151
Elasticsearch Installation
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Wir fügen damit einen PGP Key hinzu. Falls noch nicht installiert holen wir uns das Paket apt-transport-https
sudo apt-get install apt-transport-https
Nun adden wir noch die Source von Elastic-6.x
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
und installieren nach dem obligatorischen update das Paket elasticsearch:
sudo apt-get update && sudo apt-get install elasticsearch
Service starten
sudo service elasticsearch start
unter http://localhost:9200/ sollten wir nun folgendes sehen
sudo /bin/systemctl enable logstash.service
So – nun da wir die Basis haben, können wir uns Kibana widmen. Dort werden die Daten die wir später in Elasticsearch sammeln visualisiert. Ich erstelle dafür späte noch ein Schaubild, welches die Funktionsweise leicht erklärt, am Anfang kann man mit den Begriffen und der ersten Definition nicht wirklich viel anfangen.
Kibana Installation
Da wir Elastic schon zu unserer Source.list hinzugefügt haben, brauchen wir die HIER erklärten Schritte nicht mehr vollständig zu machen.
sudo apt-get update && sudo apt-get install kibana
Service starten
sudo service kibana start
Nach dem starten des services können wir Kibana unter http://localhost:5601 aufrufen. Solltet Ihr in einer Live Umgebung arbeiten, denkt daran die services noch zu sichern (HIER für NGINX)
Filebeat oder Logstash?
Hier kommt es auf den Use-Case oder den Geschmack an – ich möchte lieber ein Lightweight auf meinem lokalen System haben und nutze daher Filebeat – dieser hat einen Watcher (Harvester) auf den gewünschten Logfiles auf meinen 2-3 Maschinen und schiebt bei Änderungen die entsprechenden Logs in Elasticsearch.
Logstash Installation
Gleiches wie bei Kibana gilt für Logstash, Key und Source.list haben wir bereits bei der Elasticsearch Installation hinzugefügt.
sudo apt-get update && sudo apt-get install logstash
Service starten
sudo service logstash start
Bei Startup laden
Wenn Ihr KELF auch beim reboot laden wollt, führt einfach folgende Befehle aus:
ELASTICSEARCH sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service sudo /bin/systemctl start elasticsearch.service KIBANA sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable kibana.service sudo /bin/systemctl start kibana.service LOGSTASH sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable logstash.service sudo /bin/systemctl start logstash.service FILEBEAT sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable filebeat.service sudo /bin/systemctl start filebeat.service
Löschen
Kein nutzen mehr für den Elastic Stack? Dann lösche alles mit:
sudo apt-get --purge autoremove elasticsearch sudo rm -rf /var/lib/elasticsearch/ sudo rm -rf /etc/elasticsearch sudo apt-get remove kibana sudo apt-get remove filebea sudo apt-get remove logstash