systemd-journald (kurz: journald) ist ein Dienst zur Protokollierung von Logs unter Linux. Er ist Teil von [[systemd]] Pakets und die primäre Logging Systemen auf systemd basierten Systemen.
Journald hält sich NICHT an das Syslog Format und schreibt keine Textdateien!
journald sammelt und speichert Logs aus verschiedenen Quellen:
* dem [[Kernel]] (über /dev/kmsg)
* dem Init-System (systemd selbst)
* Standardausgaben von Diensten (stdout/stderr)
* Nachrichten von herkömmlichen Syslog-Daemons (z. B. [[rsyslog]])
journald stellt den Socket /dev/log bereit (wenne s kein anderer vor ihm macht).
# zeigt auf systemd-journald
lrwxrwxrwx. 1 root root 28 30. Okt 10:12 /dev/log -> /run/systemd/journal/dev-log
=====Konfiguration=====
Die Konfiguration erfolgt über die Datei:
/etc/systemd/journald.conf
Wichtige Parameter ([[https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html|freedesktop.org]]):
* Storage: bestimmt, ob Logs persistent (persistent) oder nur im RAM (volatile) gespeichert werden
* SystemMaxUse: legt die maximale Größe des Journals fest
* ForwardToSyslog: aktiviert die Weiterleitung an Syslog
=====Logs=====
journald schreibt keine klassischen Logdateien wie /var/log/messages. journalctl liest die Logs aus binären Dateien, die von systemd-journald verwaltet werden. Persistente Logs unter
/var/log/journal/
Wenn nicht, schreibt systemd-journald nur temporär nach
/run/log/journal/
Mit Journalctl kann man die binären Formate lesen.
journalctl # alle Logs
journalctl -b # Logs des aktuellen Bootvorgangs
journalctl -u sshd.service # Logs eines bestimmten Dienstes
====Logiles====
Man kann zusätzlich eine klassische Text-Log Ausgabe aktivieren, das macht man z.B über [[rsyslog]].
In der Datei
sudo nano /etc/systemd/journald.conf
mit der Zeile
ForwardToSyslog=yes