Zum Inhalt springen

Für Journalisten

Verstehen, filtern und lieben Sie Ihre Logfiles
22. Mai 2026 durch
Mário Santiago

Journald CheatSheet

Weil Textdateien so 2010 sind. Journald bringt Metadaten, Struktur und einen Hauch futuristischen Glamours in Ihre Systemprotokolle.

– Eine sehr sanfte Brise des Humors weht durch dieses Dokument


Erste Schritte mit journalctl

BefehlWas es tut (mit Persönlichkeit)
journalctlAlles. Wirklich alles. Seit Systemstart. Viel Spaß beim Scrollen.
journalctl -eSpringt zum Ende – für diejenigen, die sich nur für das neueste Drama interessieren.
journalctl -rUmgekehrte Reihenfolge: neueste zuerst, wie bei Instagram.
journalctl -fFolgt dem Protokoll in Echtzeit – besser als jeder Livestream.
journalctl --no-pagerKein Pager (kein less). Gibt direkt im Terminal aus.

💡 Pager-Tipps(wenn less Sie nervt):

/ vorwärts suchen, ? rückwärts suchen, n / Shift+N nächste/vorherige, q beenden.

Filtern wie ein Profi

Nach Boot

journalctl --list-boots              # Zeigt alle Boot-IDs mit Index an
journalctl -b 0                      # Aktueller Boot
journalctl -b -1                     # Vorheriger Boot (im Grunde der Vorgestern)

Nach Zeit

journalctl --since "2026-05-10 23:00" --until "2026-05-11 01:00"
journalctl --since "vor 20 Minuten"
journalctl --since "gestern" --until "heute"

Nach systemd-Einheit (Dienst)

journalctl -u NetworkManager         # Nur NetworkManager
journalctl -u sshd -u bluetooth      # Mehrere Einheiten gleichzeitig

Nach Priorität (Protokollebene)

journalctl -p err                    # Fehler und schlimmer (0-3)
journalctl -p 3                      # Gleiche Bedeutung
journalctl -p notice..warning        # Bereich: notice bis warning
EbeneNameBeschreibung (dramatische Version)
0emergSystem steht in Flammen
1alertJetzt handeln! Sofort!
2critKritisch, aber keine Panik
3errFehler – tut weh, aber wir machen weiter
4warningVorsicht, da braut sich etwas zusammen
5noticeNormale, aber wichtige Nachricht
6infoInformativ, wie ein Rezept
7debugPlauder-Modus

Nach Schlüsselwort (schneller als grep!)

journalctl -g "Fehlgeschlagenes Passwort"
journalctl --grep '192\.168\.[0-9]{1,3}\.[0-9]{1,3}'   # Perl-ähnlicher Regex

Nach ausführbarer Datei

journalctl /usr/bin/sshd
# Oder ausdrücklich:
journalctl _EXE=/usr/sbin/sshd

Nach beliebigen Metadatenfeldern

journalctl _UID=1000                 # Nur Benutzer 1000
journalctl _TRANSPORT=kernel         # Nur Kernel-Protokolle (auch: -k)
journalctl _SYSTEMD_UNIT=sshd.service

Metadaten – die verborgenen Sterne

Alle Felder, die mit _ (Unterstrich) beginnen, sindvertrauenswürdige Felder– vom System gesetzt, können nicht vom Programm manipuliert werden.

Perfekt für Forensik oder um Malware auf frischer Tat zu ertappen.

journalctl -o verbose                # Alle Metadaten eines Eintrags anzeigen
journalctl -o json                   # JSON-Format für Skripte
journalctl -o json-pretty            # Schön formatiertes JSON

Beispielausgabe (verkürzt):

    _TRANSPORT=syslog
    PRIORITY=6
    _PID=1973
    _EXE=/usr/sbin/smartd
    MESSAGE=Gerät: /dev/sda [...]

Nützliche Felder:

  • _SYSTEMD_INVOCATION_ID – Alle Protokolle eines einzelnen Dienstlaufs
  • __CURSOR – Eindeutige ID, um später genau an diesem Punkt fortzufahren
  • _SELINUX_CONTEXT – Wenn Sie sich sicher fühlen möchten

Verwenden Sie --output-fields, um nur das zu holen, was Sie benötigen:

journalctl -o json --output-fields="MESSAGE,_EXE" _EXE=/usr/bin/sshd

Journald konfigurieren (Tüfteln erlaubt)

Wo die Konfiguration lebt

  • /etc/systemd/journald.conf – Hauptdatei (kommentierte Standardwerte)
  • /etc/systemd/journald.conf.d/my.conf – Ihre eigenen Snippets

Wichtige Optionen (von denen man träumen und die man anpassen kann)

OptionBedeutungStandard
SystemMaxUse=Maximaler Speicherplatz für das Journal10% der Partition, maximal 4 GB
SystemKeepFree=Wie viel Speicherplatz muss frei bleiben15%
MaxRetentionSec=Maximalalter der Protokolle (z. B. 30 Tage)deaktiviert
Komprimieren=Protokolle komprimieren?ja

Nach Änderungen:

systemctl reload systemd-journald   # Neu laden ohne Neustart
systemctl status systemd-journald   # Auf Fehler überprüfen

Aufräumen ("Vakuumieren")

journalctl --disk-usage              # Wie viel Speicherplatz verwenden die Protokolle?
journalctl --vacuum-size=500M        # Lösche die ältesten Protokolle, bis 500 MB übrig sind
journalctl --vacuum-time=7d          # Lösche alles, was älter als 7 Tage ist

Journald räumt automatisch auf, wenn die Grenzen erreicht sind. Keine weiteren Cron-Jobs zum Schreiben.

Letzte Worte der Weisheit

  • journalctl -k – Nur Kernel-Protokolle (früher dmesg in einem Anzug)
  • journalctl -x – Erklärungen zu Einträgen (--katalog)
  • journalctl -n 50 – Nur die letzten 50 Zeilen
  • Alles kombinieren:
    journalctl -u sshd -b 0 -p 3 -n 20
    → SSH-Dienst, aktueller Boot, Fehler oder schlimmer, maximal 20 Zeilen.

Und wenn du einen alten Sysadmin beeindrucken möchtest:

"Journald ist keine Textdatei – es ist eine indizierte, binäre Protokollierung, selbstrotierende, metadatenreiche Datenbank mit vertrauenswürdigen Feldern."

Dann nimm einen Schluck Kaffee und genieße das Staunen.

Kopiere mich – bereit für deinen Blog

Wähle einfach den gesamten obigen Block aus, kopiere ihn und füge ihn als .md in deinen Blog-Editor ein.

Keine Angst vor dem Humor – er ist sehr sanft. Versprochen. 😊

Quelle: Dieser Artikel basiert auf dem c't-Ratgeber „Linux-Protokolldienst Journald verstehen und sinnvoll nutzen“ – https://www.heise.de/ratgeber/Linux-Protokolldienst-Journald-verstehen-und-sinnvoll-nutzen-11290995.html?seite=all