Startseite>Mit Journalctl die Systemd-Protokolle auswerten
Aus Raspberry Pi Geek 06/2017

Mit Journalctl die Systemd-Protokolle auswerten

© Natasha Breen, 123RF

Gut gesiebt

Ferdinand Thommes

Das Journal sammelt alle Meldungen von Systemd. Hier finden Sie ausführlichere Protokolle als bei SysVinit, die früher einsetzen und gezielte Suchen erlauben.

Systemd [1] spaltet die Linux-Welt in Befürworter und erklärte Feinde der mittlerweile in den meisten Distributionen verankerten Systemmanagementsoftware. Die hat nicht nur das überkommene Init-System SysVinit [2] ersetzt, sondern übernimmt an vielen Stellen zunehmend Aufgaben der Administration. Dazu zählt auch das Protokollieren der Ereignisse sowohl des Systems wie der Anwendungen.

Hierzu bringt Systemd das Journal mit, das bisherige Werkzeuge wie Rsyslog [3] ersetzt. Mussten Administratoren zum Lösen eines Problems früher oft mehrere Logs konsultieren und die Ergebnisse vergleichen, so vereint das Journal alle Daten in einer einzigen Instanz und erleichtert so das Auswerten.

Im Gegensatz zu Systemadministratoren bemerken Desktop-Anwender im besten Fall kaum etwas von Systemd. Eine Ausnahme stellt hier eben das Journal dar, denn jeder kommt vermutlich irgendwann in die Verlegenheit, Protokolldateien zu studieren. Um hier zu einem positiven Ergebnis zu kommen, helfen einige Tricks und Kniffe.

Besser strukturiert

Ein Daemon namens Journald sammelt die Meldungen des Kernels, von Initrd, den Diensten und allen anderen verfügbaren Quellen und fasst sie zusammen. So häuft er wesentlich mehr Daten an als die über Jahrzehnte genutzten Log-Dateien wie /var/log/messages oder /var/log/syslog. An vielen Stellen erhalten Sie außerdem Metadaten mitgeliefert, die die Ergebnisse der Suche im Journal unter Umständen wesentlich verfeinern.

Dadurch entsteht allerdings auch ein höheres Aufkommen an Daten, das sich mit den herkömmlichen Textdateien schwer handhaben lässt. Deshalb speichert der Journal-Daemon die Informationen in Binärdateien ab, aus denen Sie die Daten mit administrativen Rechten über den Befehl journalctl wieder auslesen. Bei Bedarf wandeln Sie die Binärdateien in andere Formate um, um sie weiterzuverarbeiten.

Wildwuchs begrenzen

Die Fülle an protokollierten Daten führt dazu, das sich schnell große Dateien ansammeln. Bislang bekamen Sie diesen Wildwuchs beispielsweise über das Tool Logrotate in den Griff, das die Protokolldateien rotiert und komprimiert. Beim Journal von Systemd setzen Sie konkrete Grenzwerte, bei deren Erreichen die Software die Files durchwechselt.

Werfen Sie einen Blick in die entsprechende Konfigurationsdatei. Üblicherweise heißt sie etc/systemd/journald.conf, bei Systemen, die nicht auf Debian beruhen, aber manchmal auch etc/systemd/journal.conf. Hier interessieren zunächst die Einträge SystemMaxUse und SystemKeepFree: Mit dem ersten legen Sie fest, wie viel Platz die Journaldateien in /var/log/journal insgesamt einnehmen dürfen. Der zweite Wert gibt vor, wie viel Platz Sie mindestens frei behalten möchten (Abbildung 1).

Abbildung 1: Das Systemd-Journal wächst unter Umständen recht schnell an. Damit die Platte nicht an die Grenze der Kapazität gelangt, begrenzen Sie die Größe der Journaldateien.

Abbildung 1: Das Systemd-Journal wächst unter Umständen recht schnell an. Damit die Platte nicht an die Grenze der Kapazität gelangt, begrenzen Sie die Größe der Journaldateien.

Beide Werte kommen beim Check zum Zug, es greift jeweils der kleinere. Tragen Sie hier keine Werte ein, gilt als Standard für den ersten Wert 10 Prozent des Dateisystems, 15 Prozent für den zweiten. Bei jeweils 4 GByte kappt das Programm automatisch.

Bei den heutigen Größen von Festplatten ist es also durchaus sinnvoll, zumindest bei SystemMaxUse einen Wert im Bereich von 50 MByte bis zu 1 GByte einzutragen. Damit reicht das Journal auf jeden Fall für den Alltagsgebrauch genügend weit zurück. Über SystemMaxFileSize begrenzen Sie bei Bedarf die Größe einzelner Dateien.

Als Einheiten für Größenvorgaben nutzen Sie für den Hausgebrauch K, M, G und T. Wenn Sie Optionen in der journald.conf ändern, entfernen Sie zum Aktivieren das Hash-Zeichen (#) vor der jeweiligen Zeile und starten anschließend den Journal-Daemon neu.

Beständig oder flüchtig

Üblicherweise konfigurieren Distributionen das System zum kontinuierlichen Speichern der Protokolle. Werfen Sie aber ungeachtet dessen einen Blick auf die Zeile Storage: Nur wenn hier als Option persistent steht, landen tatsächlich Logs in /var/log/journal. Möchten Sie die Logs hingegen nicht speichern, setzen Sie den Eintrag auf volatile. Die Logs stehen dann nur während der laufenden Sitzung unter /run/log/journal bereit, anschließend löscht der Daemon sie wieder.

Weitere Optionen zum präzisen Steuern der Journalgröße erläutert die Manpage zu journald.conf. Möchten Sie das Journal etwa im laufenden Betrieb verkleinern, gibt es dazu zwei Optionen. Mit folgendem Kommando kürzen Sie beispielsweise als Root das Journal auf 100 MByte:

# journalctl --vacuum-size=100M

Dabei löscht die Software die ältesten Einträge, bis das Protokoll die gewünschte Größe erreicht. Alternativ schneiden Sie unter Angabe einer Zeit alles Ältere heraus:

# journalctl --vacuum-time=1month

Dieser Befehl würde – ungeachtet der resultierenden Größe der Protokolldatei – alle Meldungen verwerfen, die älter als ein Monat sind (Abbildung 2).

Abbildung 2: Mit Schaltern wie »--vacuum-time« weisen Sie Journald an, die Protokolldateien zu verkleinern, ohne dazu die Konfiguration ändern zu müssen.

Abbildung 2: Mit Schaltern wie »–vacuum-time« weisen Sie Journald an, die Protokolldateien zu verkleinern, ohne dazu die Konfiguration ändern zu müssen.

Früher und mehr

Journald zeichnet nicht nur wesentlich mehr Daten auf, als die früheren Protokollmechanismen, sondern beginnt damit früher im Boot-Prozess, als das bislang möglich war. Das hilft dabei, Probleme beim Systemstart leichter einzugrenzen. Wer erinnert sich nicht an Fotos von Monitoren mit einem Startbildschirm, auf dem eine Kernel Panic oder sonstige Probleme den Start des Rechners verhinderten? So etwas gehört mit Systemd weitestgehend der Vergangenheit an.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland