Zum Inhalt

systemd-Journal unter Linux verwalten & analysieren

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.

Kommentare

Noch keine Kommentare.
Neuen Kommentar schreiben

Deine E-Mail wird nicht veröffentlicht. Bei Antworten erhältst du eine Benachrichtigung.