Wo die Protokolle liegen
Auf aktuellen Systemen sammelt systemd-journald die Meldungen aller Dienste zentral. Daneben gibt es weiterhin klassische Textdateien unter /var/log/ — etwa für Apache oder Nginx. Beide Wege lohnen sich zu kennen.
Die wichtigsten Aufrufe
Alles zu einem Dienst:
journalctl -u nginx
Nur die letzten Zeilen und dann live mitlesen — der mit Abstand nützlichste Aufruf bei der Fehlersuche:
journalctl -u nginx -n 50 -f
Jetzt einen Neustart in einem zweiten Fenster auslösen und zusehen, was passiert.
Nach Zeit filtern
Meist weißt du ungefähr, wann das Problem auftrat:
journalctl --since "heute"
journalctl --since "-2 hours"
journalctl --since "2026-07-30 14:00" --until "2026-07-30 15:00"
Nur Fehler anzeigen
Das Journal kennt Schweregrade. Wer nur Fehler sehen will:
journalctl -p err -b
-b begrenzt auf den aktuellen Systemstart. Das ist praktisch nach einem Neustart, wenn du wissen willst, ob etwas nicht sauber hochgekommen ist.
Warum startet ein Dienst nicht?
Der übliche Ablauf:
systemctl status meinedienst
journalctl -u meinedienst -n 40 --no-pager
status zeigt den aktuellen Zustand und die letzten Zeilen, journalctl den vollständigen Verlauf. In neun von zehn Fällen steht dort ein Tippfehler in der Konfiguration, ein belegter Port oder eine fehlende Datei.
Wenn das Journal zu groß wird
Auf kleinen Servern kann das Journal Speicher fressen. Aktuellen Verbrauch anzeigen und begrenzen:
journalctl --disk-usage
journalctl --vacuum-time=14d
Dauerhaft stellst du das in /etc/systemd/journald.conf über SystemMaxUse=500M ein.
Die klassischen Logdateien
Webserver schreiben weiterhin eigene Dateien. Bei Apache typischerweise:
tail -f /var/log/apache2/error.log
Ein Tipp aus der Praxis: Wenn eine Website einen Fehler zeigt, öffne das Error-Log vorher mit -f und lade die Seite dann neu. So siehst du genau die Zeilen, die zu deinem Aufruf gehören, statt in der Historie zu suchen.