Durchblick im Log
Linux-Protokolldienst Journald verstehen und anwenden
Journald, der Logging-Dienst von Systemd, speichert in allen gängigen Linux-Distributionen die System- und Anwendungsprotokolle. Wir zeigen Ihnen die praktischen Analyse- und Filterfunktionen von Journald, damit Sie jederzeit den Überblick behalten.
Der Logging-Dienst Journald hat sich in der Linux-Welt längst breit gemacht und ist in den meisten Distributionen enthalten. Der Unterschied zur Zeit davor ist grundlegend: Klassische Logdateien lagen in reiner Textform vor und enthielten üblicherweise Zeilen mit Datum, Uhrzeit und der vom Programm generierten Log-Nachricht. Das war zwar technisch schön einfach, aber nicht frei von Fallstricken. Die Log-Syntax war über Programme hinweg uneinheitlich und oft nicht einstellbar, was das gezielte Suchen nach Informationen erschwerte. Es musste auch stets darauf geachtet werden, dass jede Logdatei „rotiert“ wird, um sicherzustellen, dass sie nicht unendlich anwächst, die Festplatte bis aufs letzte Byte füllt und damit das System lahmlegt. Und nicht zuletzt war es oft eine Herausforderung, eine bestimmte Log-Zeile mit Einträgen aus anderen Protokollen zu korrelieren – der fehlende Kontext erschwert die Fehlersuche.
Journald macht einiges anders: Es speichert nicht nur Zeilen von Text, sondern auch zahlreiche Metadaten: Wann trat das protokollierte Ereignis auf, welches Programm hat ihn geliefert, mit welcher Prozess-ID und welchen Kommandozeilenbefehlen? Das Ganze legt Journald nicht in menschenlesbaren Textdateien ab, sondern in einer indexierten Datenbank unter /var/log/journal, die das Tool journalctl abfragt. Dadurch können Sie Logeinträge sehr zielgerichtet und effizient finden, analysieren und aufräumen – und auch Log-Rotation und -Komprimierung erledigt Journald automatisch.