journald (Systemd)
RHEL setzt seit Version 6 auf Rsyslog
als Syslog-Client und Server,
welches das ursprüngliche syslogd-Modell erweitert. Seit RHEL 7
können Log-Daten auch von journald
, einer Komponente von systemd
verwaltet werden. journald
mit seiner journalctl
-Komponente
erlaubt eine sehr detaillierte Untersuchung über alle Log-Ausgaben eines
Systems, die bequemer ist und deren Ergebnisse dank zusätzlicher
Meta-Daten genauer als die „alte“ Methode mittels tail/cat/grep
sind. Auf RHEL 7 existieren beide Loggings-Tools nebeneinander.
journalctl Cheat Sheet
Logs anzeigen. Die journalctl
-Datenbank wird mit Hilfe von less
angezeigt
journalctl
Logs für ein Device:
journalctl /dev/vda
Die 10 neuesten Log-Meldungen anzeigen:
journalctl -10
Live-View analog zu tail -f
:
journalctl --follow
Alles laufend als JSON:
journalctl --output=json --follow
Wie oben, aber Output durch andere Tools bearbeiten lassen:
journalctl --output=json --follow | journal2gelf
Bemerkung
journald schneidet Nachrichten nach 16 KB ab. Interessant für die, die z.B. JSON-Nachrichten an einen zentralen Log-Server über journald weiterreichen.
Filter, beispielsweise Meldungen auf Units und Zeiträume einschränken:
journalctl --unit=sshd
journalctl --since "2015-06-26 23:15:00" --until "2015-06-26 23:20:00"
journalctl --priority err
Boot-Meldungen anschauen:
journalctl --list-boots
journalctl --boot 00552ebbabad42c3a439a303138914ee
journalctl --boot _SYSTEMD_UNIT=httpd.service _PID=5874
Um die Datenbank persistent vorzuhalten, das Log-Verzeichnis für journalctl
anlegen und den Dienst umkonfigurieren:
mkdir -p /var/log/journal
sed --in-place='s/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf
systemctl restart systemd-journald.service
Die persistenten Log-Dateien aufräumen - die letzten 10 Tage oder 2 GB an Daten behalten:
journalctl --vacuum-time=1d
journalctl --vacuum-size=500M
journalctl --disk-usage
Journal-Einträge verschlüsselt forwarden:
dnf -y install systemd-journal-remote
mkdir /tmp/journal
journalctl --output export | /usr/lib/systemd/systemd-journal-remote --output /tmp/journal/example.journal -
Built on 2024-11-18