In verteilten Applikationen besteht immer der Bedarf, Logs zu zentralisieren – sobald man mehr als ein paar Container hat, reichen cat, tail oder less nicht mehr aus. Das übliche Problem ist aber, wie man möglichst effizient zu einer zentralisierten oder aggregierten Log-Lösung kommt.
Dieser Vortrag stellt fünf Ansätze und Patterns für zentrales Logging mit ihren Vor- und Nachteilen vor, sodass die Zuhörer den für sie passenden Ansatz wählen können.
Jedes der fünf Patterns hat sein eigenes Demo mit dem Open-Source Elastic Stack (früher ELK Stack), wobei die Muster generell bei jedem zentralisierten Logging-System anwendbar sind.
Vorkenntnisse
* Generelles Wissen über Container, Kubernetes und idealerweise Erfahrung mit Logs ganz allgemein.
Lernziele
Die fünf Patterns mit ihren Vor- und Nachteilen:
* Parsen: Bestehende Log-Daten können weiterverwendet werden und die relevanten Informationen werden per Regular Expression extrahiert.
* Senden: Mit einem geeigneten Log-Appender werden die Ereignisse direkt gesendet, ohne dass sie in einer Log-Datei gespeichert werden müssen.
* Strukturieren: Ereignisse in einem strukturierten Format abspeichern, das dann direkt zentralisiert werden kann.
* Containerisieren: Das Logging mit Containern erfordert zusätzliche Automatismen, um effizient mit Logs arbeiten zu können.
* Orchestrieren: Auch wenn Dienste nur kurzfristig laufen und dynamisch verteilt werden, gibt es mit Kubernetes Möglichkeiten den Überblick anhand von Metadaten zu bewahren.
// Referent
Philipp Krenn
@xeraa
ist Teil des Infrastructure-Teams und Developer Advocate bei Elastic und spricht regelmäßig über Volltextsuche, Datenbanken, Infrastrukturthemen und Sicherheit. Außerdem organisiert er mehrere Meetups in Wien.