Debian 12 /var/log/syslog und weitere Logs sind nicht mehr vorhanden, der Grund ist das Syslog durch journald ersetzt wurde. Es ist der Wechsel mit diesem das Protokollsystem von rsyslog mit den traditionellen Log-Dateien durch systemd-journald abgelöst wurde. rsyslog wurde mit Debian 8 (Jessie) erstmals eingeführt.

Bei Debian 12 wird man schnell feststellen, das viele Log-Dateien unter /var/log fehlen, wie etwa mail.log, kern.log oder /var/log/syslog, auch weitere Syslog Protokolle sind nicht vorzufinden.
tail: cannot open '/var/log/syslog' for reading: No such file or directory
Wie können nun die Systemprotokolle eingesehen werden? dazu nutzt man journalctl, das als User Frontend für systemd-journald dient.
Verwendung von journalctl
Hier einige Befehle für die Verwendung von journalctl.
- journalctl: zeigt das gesamte Systemprotokoll an.
- journalctl -f: folgt dem Systemprotokoll in Echtzeit,
ähnlich wietail -f /var/log/syslog
- journalctl -b: zeigt das Protokoll für den letzten Bootvorgang an.
- journalctl -u servicename: zeigt das Protokoll für einen systemd-Dienst an, zB. journalctl -u apache2.service
- journalctl –since=yesterday: zeigt das Protokoll seit gestern an.
journalctl bietet viele weitere Optionen, hilfe gibt es mit der man page.
$ man journalctl
$ journalctl --help
Syslog bei Debian 11 und Debian 12
Was zuvor Syslog bis Debian 11 mit tail -f /var/log/syslog
ging, ist nun unter Debian 12 journalctl -ef
Beispiele mit journalctl
Wie zuvor bis Debian 11 und Syslog mit tail -f /var/log/mail.log
war, ist jetzt unter Debian 12 vergleichbar mit dem Befehl.
$ journalctl -u postfix@-.service -f
Was zuvor mit /var/log/auth.log ging, ist nun vergleichbar mit dem Befehl.
$ journalctl -f -u ssh.service
journald speichert Log-Meldungen in binärem Format und verwaltet diese unter /var/log/journal. Wobei journalctl -e
die neuesten Meldungen aus dem Journal zeigt.
Das Paket rsyslog wird auf den meisten Systemen nicht mehr benötigt und kann unter Umständen entfernt werden.
Rsyslog in Debian 12
Es ist jedoch weiterhin möglich, das rsyslog-Paket auf Debain 12 zu nutzen. Nach der Installation funktioniert Syslog in Debian 12 wie gewohnt.
$ sudo apt install rsyslog
Nach der Installation von rsyslog ist es gestartet und ist standardmäßig für die Ausführung beim Systemstart aktiviert.
$ systemctl status rsyslog
Beachte dass systemd-journald auch weiterhin protokolliert, wenn rsyslog installiert und aktiviert ist. Daher werden auf Debian 12 die Protokolle mit syslog und systemd-journald, am Ende zweimal auf die Festplatte geschrieben. Auch kann es erforderlich sein syslog in /etc/rsyslog.conf zu konfigurieren.
Wer das Upgrade von Debian 11 auf Debian 12 (bookworm) gemacht hat, der findet die rsyslog.conf Datei von Debian 11 (bullseye) hier.
Wer Speicherplatz sparen möchte, kann die systemd-journald Protokollierung deaktivieren. Dies kann durch löschen des Protokoll Verzeichnis /var/log/journal erreicht werden, wodurch verhindert wird, dass journald die Protokollierung weiterhin dauerhaft speichert.
Protokolle mit Journalctl in Multitail anzeigen
Eines der Dinge, die wir bei Syslog vermissen, ist die Möglichkeit, Multitail mit farblich hervorgehobenen Protokolleinträgen zu verwenden. Aber auch dafür gibt es eine Lösung, wie die folgenden Beispiele zeigen.
Das Postfix-Protokoll mit Journalctl und Multitail anzeigen.
$ multitail -cS postfix -l "journalctl -f -u postfix@-.service"
Dem Apache Log auf Debian 12 mit Journalctl in Multitail folgen.
$ multitail -cS apache -l "journalctl -f -u apache2.service"
Debian 12 mit Journalctl in Multitail im syslog Schema folgen.
$ multitail -cS syslog -l "journalctl -f"
Der ähnliche Beitrag hier könnte dich auch intressieren.