Zehn Server, dreißig Services. Einen Fehler in den Logs finden bedeutet: per SSH auf jeden Server zugreifen und greppen. Der ELK Stack zentralisiert Logs an einem Ort und macht sie verständlich.
Drei Säulen¶
Elasticsearch: Verteilte Suchmaschine für JSON-Dokumente. Logstash: Pipeline für das Parsen und Anreichern von Logs. Kibana: Visualisierungen und Dashboards.
Logstash-Konfiguration¶
input { beats { port => 5044 } }
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{JAVACLASS:class} - %{GREEDYDATA:msg}" }
}
}
output {
elasticsearch { hosts => ["elasticsearch:9200"] index => "logs-%{+YYYY.MM.dd}" }
}
Strukturiertes Logging¶
Best Practice: Direkt in JSON loggen. Kein Grok-Parsing nötig. In Java mit logstash-logback-encoder. Tägliche Indizes, nach 30 Tagen gelöscht. ES-Heap maximal 50% des RAM, niemals mehr als 32 GB.
ELK ist das Fundament der Observability¶
Zentralisiertes Logging ist eine Notwendigkeit für verteilte Systeme.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns