orm@doc-tcpip.org | Erstellt: Januar 2016 - Letzte Modifikation: Februar 2020 |
journalctl
journalctl --utc
Nicht so sinnvoll, weil sehr viele Einträge kommen. Die einzelnen Boot-Vorgänge werden auch geloggt, und es wird dauerhaft geloggt, wenn das so eingerichtet ist.
Will man Log-Daten über mehrere Boots aufheben, so muss man permanentes Logging einrichten. Wenn in der Konfiguration der storage auf "auto" gesetzt ist, dann reicht es, das Verzeichnis für die Logs anzulegen:
mkdir -p /var/log/journal
Falls das nicht der Fall ist, so trägt man "persitent" oder "auto" in dem Konfigurationsfile des Journald ein: File /etc/systemd/journald.conf, eintragen:
[journal] storage=persistent
Mit "persistent" wird das Verzeichnis automatisch angelegt, mit "auto" kann man durch das Anlegen bzw. Entfernen des Verzeichnis steuern, ob die Logs aufgehoben werden.
Nach einzelnen Boot-vorgängen:
journalctl -b - Einträge nach dem letzten Boot. journalctl --list-boots - Gibt einen Offset pro Boot sowie eine ID journalctl -b- Einträge eines bekannten Boots nach Offset, z.B. journalctl -b -2 (vorletzter Boot) journalctl -b - Einträge eines bekannten Boots nach ID
Geht mit --since und --until. Das Zeitformat kann man setzen.
journalctl --since "YYYY-MM-DD HH:MM:SS"
Lässt man die Zeit oder zB. die Minuten oder Sekunden weg, so wird 0 angenommen, also Mitternacht oder die volle Stunde bzw. Minute.
Zusätzlich kann man relative Werte und Schlüsselworte nutzen, wie zB. "yesterday", "today", "tomorrow". Mit "ago" oder einer Zahl mit plus/minus kann man Zeitbereiche filtern, zB. "--since 05:15 --until "3 hours ago""
Selbstverständlich kann man auch nach Arten des Logs, der Severity oder nach dem Verursacher filtern. Zusätzlich sind alle Setzungen miteinander kombinierbar.
journalctl -u- Z.B. Service gpsd.service
journalctl -u-u --since "3 hours ago"
Das Systemd Journal übernimmt alle Felder des zugrunde liegenden Logging-Dienstes. Es generiert aber auch neue Attribute, die auf dem System eingesammelt werden, wenn der Eintrag erzeugt wurde. Solche Attribute haben einen führenden Unterstrich, zB. _PID oder _GID. Danach kann man auch filtern.
journalctl _UID=xy - Alle Einträge zu dieser UID journalctl _PID=xy - Alle Einträge zu dieser PID journalctl -F _UID - Alle Werte, die zu UID vorkommen
Mit -F sieht man alle Werte, die zu so einem Attribut vorkommen. Welche Attribute es überhaupt gibt, findet man in der man-Page zu systemd.journal-fields.
journalctl /usr/bin/gpsd
journalctl -k
journalctl -p
Dabei gelten die Prioritäten 0 - 7 (emerg, alert, crit, err, warning, notice, info, debug).
journalctl -o
Praktische Formate sind json, json-pretty und short (das ist wie die Ausabe von syslogd).
Weitere Optionen:
--no-full - Die Ausgabe wird gekürzt -a - zeigt alles, auch nicht druckbare Zeichen --no-pager - wie cat, die Ausgabe läuft durch
Man kann das Journal auch als "tail" laufen lassen:
journalctl -n journalctl -n- Anzahl der Einträge journalctl -f - ist wie "tail -f"
Plattenplatz:
journalctl --disk-usage
Das Journal schrumpfen; dabei werden alte Einträge werden entferntm bis die eingestellte Größe erreicht ist.
journalctl --vacuum-size=xG
Das geht auch mit einem zeitlichen Cut-Off: --vacuum-time
All das kann im Konfigurations-File /etc/systemd/journald.conf eingestellt werden.
timedatectl list-timezones timedatectl set-timezonestimedatectl status
Die Ausgabe zeigt die Zeit in Lokal, UTC und die RTC Zeit, sowie Informationen zum NTP und der Zeitumstellung.
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL