Systemd/Journald: Unterschied zwischen den Versionen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 31: | Zeile 31: | ||
[...] | [...] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Quellen | |||
Das Journal sammelt Logmeldungen | |||
* [[Kernel]] | * [[Kernel]] | ||
* System | * System | ||
| Zeile 104: | Zeile 104: | ||
=== Dokumentation === | === Dokumentation === | ||
<!-- | |||
; Man-Page | ; Man-Page | ||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | ||
; Info-Pages | ; Info-Pages | ||
--> | --> | ||
Aktuelle Version vom 18. Februar 2026, 17:24 Uhr
journald - Service Unit des systemd zum Logging in das zentrale Journal
Beschreibung
- Dass die Log-Dateien binär gespeichert werden, um sie länger und fälschungssicher – so zumindest der Anspruch der systemd-Entwickler – speichern zu können, ist jedoch ein großer Kritikpunkt der Linux-Community
- Allerdings hat journald Charme und bringt außer der Umgewöhnung auch einige Vorteile mit, wie beispielsweise, dass Fehler in den Log-Dateien in Rot markiert werden und so eher auffallen
- Journal abfragen
Mit dem Wechsel von herkömmlichen init-Skripten zu systemd wurde ein eigenes Protokolliersystem eingeführt, das als Journal bezeichnet wird
- Alle Systemereignisse werden in das Journal geschrieben, sodass kein
syslog-basierter Service ausgeführt werden muss
Das Journal selbst ist ein Systemservice und wird mit systemd verwaltet
- Die vollständige Bezeichnung des Service lautet
systemd-journald.service - Hier werden Protokolldaten in strukturierten, indizierten Journalen erfasst und gespeichert
- Die Daten basieren dabei auf den Protokollinformationen aus dem Kernel, von den Benutzerprozessen, aus der Standardeingabe und aus den Fehlern von Systemdiensten
- systemd-journald ist standardmäßig aktiviert
sudo systemctl status systemd-journald
systemd-journald.service - Journal Service
Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static)
Active: active (running) since Mon 2014-05-26 08:36:59 EDT; 3 days ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 413 (systemd-journal)
Status: "Processing requests..."
CGroup: /system.slice/systemd-journald.service
└─413 /usr/lib/systemd/systemd-journald
[...]
- Quellen
Das Journal sammelt Logmeldungen
- Kernel
- System
- Service Units
- stdout
- stderr
- system.journal
Die Logmeldungen werden standardmäßig in der Datei system.journal gespeichert
- /run/log/journal/UUID_DES_VERZEICHNISSES
- Die UUID_DES_VERZEICHNISSES variiert dabei von System zu System
- Persistente Speicherung
Aktiviert man die persistente Speicherung der Logdateien, dann ändert sich der Speicherort zu /var/log/journal/UUID_DES_VERZEICHNISSES
- Je nach Einstellung wird zusätzlich für jeden angemeldeten Benutzer eine Journald-Datei angelegt
- Log rotation
journald kümmert sich selbst um die Log rotation
- Standardmäßig erfolgt dies in Abhängigkeit von der Größe der Logdatei, wobei man in der Konfiguration auch eine zeit-basierte Logrotation umstellen kann
- Binäre Journaldateien
- Zum Auslesen sind spezielle Programme notwendig
- Möglichkeiten
- Schutz vor Manipulation
Zusätzlich schützt journald die Journaleinträge gegen Manipulation durch eine Technik namens "Forward Secure Sealing"
- Dadurch wird es etwa unerwünschten Eindringlingen ins eigene System erschwert, ihre Spuren durch Manipulation der Logeinträge zu verschleiern
Installation
Journal-Datei auslesen
| Befehl | Beschreibung |
|---|---|
| journalctl | Standardwerkzeug zum Auslesen und Anzeige der Journaldatei |
| strings und grep | strings /pfad/zum/system.journal | grep -i SUCHBEGRIFF |
Obwohl die Logdateien in einem Binärformat gespeichert werden, sind darin gespeicherte Meldungen unverändert als Zeichenketten abgelegt und lassen sich mit dem Werkzeug strings (binutils) und grep ohne journalctl herausfiltern:
strings system.journal | grep -i SUCHBEGRIFF
Die Datei system.journal liegt in einem Unterordner von
- /run/log/journal/
- /var/log/journal/
Aufruf
Optionen
Argumente
Umgebungsvariablen
Exit-Status
Anwendung
Problembehebung
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks