Post on 18-Jul-2015
Das Ende der Logfiles
Das Ende der Logfilesmit Elasticsearch, Logstash und Kibana zu übersichtlichem Logging
Dennis KasparekBA-Student
TRITUM GmbH
Was ist das Ziel?
Was kann man loggen?
Zugriffe (access.log)
Fehler (error.log)
Änderungen
Installationsvorgänge
Eigene Daten
…
Wie logge ich nun effektiver?
Antwort: ELK-Stack
Elasticsearch
Logstash
Kibana
Gibt es auch Alternativen?
Was ist Elasticsearch?
Verteilte Suchsoftware
Basiert auf Apache Lucene
Bietet neben Volltextsuche auch analysierte und strukturierte Suche
Sehr gut skalierbar
Sehr schnell
Was ist Logstash?
Aufgabe: Annahme, Verarbeitung und Weiterleitung
Möglichkeiten: Input, Filter, Output
Mögliche Inputs: file, udp, tcp, syslog
Mögliche Filter: grok, mutate, geoip
Mögliche Outputs: tcp, udp, elasticsearch
Was ist Kibana?
Oberfläche für Elasticsearch
Große Anzahl an verschiedenen Statistiken
Aktuelle Version: 4
Größte Neuerungen: abhängige Statistiken
Dashboards von Version 3 nicht kompatibel
Wie installiere ich das alles?
Gut dokumentierte Installationsanleitungen
Wichtig: Absicherung!
Logstash: iptables
Elasticsearch: nur lokal erreichbar
Kibana: Reverse Proxy und .htaccess
Wie sende ich Logs an den Logserver?
Logstash (Forwarder)
Rsyslog
FireGento Logger (für Magento)
INPUT FILTER OUTPUT
input {
udp {
port => XXXXX
codec => json {
charset =>
"UTF-8"
}
}
}
filter {
grok {
match => ['message',
'%{COMBINEDAPACHELOG}']
}
geoip {
source => "clientip"
target => "geoip"
add_field => [ "[geoip][coordinates]",
"%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]",
"%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float" ]
}
}
output {
elasticsearch {
host => "127.0.0.1"
}
}
Was passiert auf dem Logserver?
Und zuletzt: Wie sieht das alles jetzt aus?
LIVE-DEMO