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