systemd-Journal unter Linux verwalten & analysieren
systemd-Journal unter Linux verwalten & analysieren
Zusammenfassung:
Dieser Artikel dokumentiert die Verwaltung und Analyse des systemd-Journals unter Linux mit journalctl. Themen sind grundlegende Abfragesyntax, Filter nach Dienst, Zeitraum und Priorität, die Konfiguration von Journal-Größe und Aufbewahrungsdauer in journald.conf sowie praktische Diagnose-Workflows für häufige Szenarien.
1. Grundlegende journalctl-Abfragen
# Alle Journal-Einträge anzeigen (neueste zuerst)
journalctl -r
# Echtzeit-Log (wie tail -f)
journalctl -f
# Nur den letzten Boot
journalctl -b
# Vorherigen Boot
journalctl -b -1
# Letzten N Zeilen anzeigen
journalctl -n 50
2. Nach Dienst filtern
# Logs eines bestimmten systemd-Dienstes
journalctl -u nginx.service
journalctl -u sshd.service
# Echtzeit-Log für einen Dienst
journalctl -f -u NetworkManager
# Mehrere Dienste kombinieren
journalctl -u nginx -u postgresql
3. Nach Zeit filtern
# Seit einem bestimmten Zeitpunkt
journalctl --since "2026-03-10 08:00:00"
# Zeitraum eingrenzen
journalctl --since "2026-03-10" --until "2026-03-11"
# Relative Zeitangaben
journalctl --since "1 hour ago"
journalctl --since "yesterday"
journalctl --since "2 days ago"
4. Nach Priorität (Log-Level) filtern
# Nur Fehler und kritische Meldungen
journalctl -p err
# Nur Warnungen und höher
journalctl -p warning
# Kernel-Meldungen (dmesg-äquivalent)
journalctl -k
journalctl -k -b # Kernel-Meldungen des aktuellen Boots
Log-Level in absteigender Priorität: emerg, alert, crit, err, warning, notice, info, debug
5. Weitere nützliche Filter
# Nach ausführbarer Datei filtern
journalctl /usr/bin/firefox
# Nach Prozess-ID (PID)
journalctl _PID=1234
# Nach Benutzer
journalctl _UID=1000
# Ausgabe als JSON (für Weiterverarbeitung)
journalctl -o json-pretty -n 5
6. Journal-Größe konfigurieren
Die Konfiguration des Journals erfolgt in /etc/systemd/journald.conf.
sudo nano /etc/systemd/journald.conf
Wichtige Optionen:
[Journal]
# Maximale Gesamtgröße des persistenten Journals
SystemMaxUse=500M
# Maximale Größe des Journal-Caches im RAM
RuntimeMaxUse=50M
# Maximales Alter der Einträge (Wochen, Tage, Monate, Jahre)
MaxRetentionSec=2weeks
# Journal persistent speichern (nach /var/log/journal/)
Storage=persistent
Nach Änderungen:
sudo systemctl restart systemd-journald
7. Journal-Speicher bereinigen
# Aktuellen Speicherverbrauch anzeigen
journalctl --disk-usage
# Auf bestimmte Größe reduzieren
sudo journalctl --vacuum-size=200M
# Einträge älter als X löschen
sudo journalctl --vacuum-time=2weeks
# Auf bestimmte Anzahl Dateien reduzieren
sudo journalctl --vacuum-files=5
8. Praktische Diagnose-Workflows
Systemstart analysieren
# Bootzeit-Analyse
systemd-analyze
systemd-analyze blame # Dienste nach Startdauer sortiert
systemd-analyze critical-chain # Kritischer Pfad beim Boot
# Logs des letzten Boots komplett
journalctl -b --no-pager | less
Fehlgeschlagene Dienste finden
# Alle fehlgeschlagenen Units anzeigen
systemctl --failed
# Logs eines fehlgeschlagenen Dienstes
journalctl -u fehlerhafter-dienst.service -b --no-pager
Letzten Absturz analysieren
# Log des vorletzten Boots (z. B. nach einem Absturz)
journalctl -b -1 -p err
Hat euch dieser Beitrag gefallen?
Dann lasst gern ein Like da.