Zum Inhalt springen

Systemd/Journald

Aus Foxwiki

journald - Service Unit des systemd zum Logging in das zentrale Journal

Beschreibung

systemd bringt ein eigenes Logging-Framework namens journald mit
  • 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
 [...]

Logquellen

Das Journal sammelt Logmeldungen
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

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
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

Journald ist Teil von Systemd

Journal-Datei auslesen

Befehl Beschreibung
journalctl Standardwerkzeug zum Auslesen und Anzeige der Journaldatei
strings und grep strings /pfad/zum/system.journal | grep -i SUCHBEGRIFF
strings und grep

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

Man-Page
  1. prep(1)


Links

Projekt

Weblinks

  1. https://wiki.ubuntuusers.de/systemd/
  2. https://de.wikipedia.org/wiki/Logging