|
|
| (56 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| journald ist die Service Unit von [https://wiki.ubuntuusers.de/systemd/ systemd], die für das [https://de.wikipedia.org/wiki/Logging Logging] in das zentrale Journal zuständig ist. | | '''journald''' - Service Unit des [[systemd]] zum [[Linux/Logging|Logging]] in das zentrale Journal |
| * Standardmäßig werden dort die Logmeldungen des Kernels, des Systems, der [https://wiki.ubuntuusers.de/systemd/Service_Units/ Service Units] als auch von [https://wiki.ubuntuusers.de/Shell/Umleitungen/#stdin-stdout-stderr-Kanaele-der-Bash stdout] und [https://wiki.ubuntuusers.de/Shell/Umleitungen/#stdin-stdout-stderr-Kanaele-der-Bash stderr] gesammelt.
| |
|
| |
|
| Die Logmeldungen werden standardmäßig in der Datei '''system.journal''' gespeichert, die bei Ubuntu im Verzeichnis '''/run/log/journal/UUID_DES_VERZEICHNISSES''' gespeichert wird.
| | == Beschreibung == |
| * Die <tt>UUID_DES_VERZEICHNISSES</tt> variiert dabei von System zu System.
| | ; Das Journal sammelt Logmeldungen |
| * Aktiviert man die [https://wiki.ubuntuusers.de/systemd/journald/#Speichereinstellung-fuer-das-Journal-aendern persistente Speicherung] der Logdateien, dann ändert sich der Speicherort zu '''/var/log/journal/UUID_DES_VERZEICHNISSES'''. | | * [[Kernel]] |
| * Je nach Einstellung wird zusätzlich für jeden angemeldeten Benutzer eine Journald-Datei angelegt, siehe den entsprechenden Abschnitt dazu [https://wiki.ubuntuusers.de/systemd/journald/#zusaetzliche-Journal-Dateien-pro-Benutzer weiter unten]. | | * System |
| | * [https://wiki.ubuntuusers.de/systemd/Service_Units/ Service Units] |
| | * [https://wiki.ubuntuusers.de/Shell/Umleitungen/#stdin-stdout-stderr-Kanaele-der-Bash stdout] |
| | * [https://wiki.ubuntuusers.de/Shell/Umleitungen/#stdin-stdout-stderr-Kanaele-der-Bash stderr] |
|
| |
|
| journald kümmert sich selber um die [https://en.wikipedia.org/wiki/Log%20rotation Log rotation].
| | ; system.journal |
| * 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. | | Die Logmeldungen werden standardmäßig in der Datei '''system.journal''' gespeichert |
| | * ''/run/log/journal/UUID_DES_VERZEICHNISSES'' |
| | * Die <tt>UUID_DES_VERZEICHNISSES</tt> variiert dabei von System zu System |
|
| |
|
| Des Weiteren verwenden die Journaldateien ein binäres Format zum Speichern der Daten.
| | ; Persistente Speicherung |
| * Zum Auslesen der Daten gibt es [https://wiki.ubuntuusers.de/systemd/journald/#Journal-Datei-auslesen verschiedene Möglichkeiten].
| | Aktiviert man die [https://wiki.ubuntuusers.de/systemd/journald/#Speichereinstellung-fuer-das-Journal-aendern 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 |
| | ** [[#zusaetzliche-Journal-Dateien-pro-Benutzer]] |
|
| |
|
| Zusätzlich schützt journald die Journaleinträge gegen Manipulation durch eine Technik namens "Forward Secure Sealing".
| | ; Log rotation |
| * Dadurch wird es z.B. unerwünschten Eindringlingen ins eigene System erschwert, ihre Spuren durch Manipulation der Logeinträge zu verschleiern. | | journald kümmert sich selbst um die [https://en.wikipedia.org/wiki/Log%20rotation 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 |
|
| |
|
| == Installation ==
| | ; Binäre Journaldateien |
| Da systemd ab Ubuntu 15.04 integraler Bestandteil des Systems ist (und dieses ohne systemd nicht lauffähig ist), sind alle benötigten Komponenten bereits installiert.
| | * Zum Auslesen sind spezielle Programme notwendig |
| | * [[#Journal-Datei auslesen| Möglichkeiten]] |
|
| |
|
| == Konfiguration ==
| | ; Schutz vor Manipulation |
| Möchte man die Einstellung von journald ändern, muss die Datei '''/etc/systemd/journald.conf''' mit einem Editor und Root-Rechten bearbeitet werden.
| | 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 |
|
| |
|
| In der Datei sind alle Default-Konfigurationswerte von journald in Form von auskommentierten Einträgen hinterlegt.
| | == Installation == |
| * Zum Ändern eines Konfigurationspunkts ändert man einfach den entsprechenden Wert und entfernt das Kommentarzeichen <tt><nowiki>#</nowiki></tt> am Zeilenanfang.
| | [[Systemd/Journald|Journald]] ist Teil von [[Systemd]] |
| * Nach einem Neustart des Rechners läuft journald mit der geänderten Konfiguration.
| |
|
| |
|
| Eine komplette Übersicht inklusive Erklärung zu den Konfigurationsmöglichkeiten findet man in der [http://www.freedesktop.org/software/systemd/man/journald.conf.html Dokumentation] oder in der [https://wiki.ubuntuusers.de/man/ Manpage] namens '''journald.conf'''.
| | == Journal-Datei auslesen == |
| | {| class="wikitable options big" |
| | |- |
| | ! Befehl !! Beschreibung |
| | |- |
| | | [[journalctl]] || Standardwerkzeug zum Auslesen und Anzeige der Journaldatei |
| | |- |
| | | [[strings]] und [[grep]] || <nowiki>strings /pfad/zum/system.journal | grep -i SUCHBEGRIFF</nowiki> |
| | |} |
|
| |
|
| === Speichereinstellung für das Journal ändern ===
| | ; [[strings]] und [[grep]] |
| Wie (und ob) das Journal gespeichert wird, wird über den Wert des Schlüssels <tt>Storage</tt> geregelt.
| | 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: |
| * Unter Ubuntu ist der Standardwert <tt>auto</tt>.
| |
| * Dabei wird die Journal-Datei im Verzeichnis'''/run/log/UUID_DES_VERZEICHNISSES/''' angelegt und geht nach dem Herunterfahren des Systems verloren.
| |
|
| |
|
| Damit die Journaldateien - und damit alle Logs - für längere Zeit gespeichert werden, gibt es zwei Möglichkeiten:# Man legt das Verzeichnis '''/var/log/journal/''' an.
| | strings system.journal | grep -i SUCHBEGRIFF |
| * Nach dem Neustart des Systems wird die Journal dort gespeichert und bleibt somit auch nach einem Neustart des Systems bestehen.
| |
| # Man ändert in der Konfigurationsdatei '''/etc/systemd/journald.conf''' den Wert der Zeile <br/>Storage=auto <br/>auf <br/>Storage=persistent <br/>Nach einem Neustart des Systems wird der Ordner '''/var/log/journal/''' automatisch angelegt und das Journal wird dort dauerhaft gespeichert.
| |
|
| |
|
| Hat man die erste Möglichkeit gewählt, so kehrt man zum nicht-dauerhaften Journal zurück, in dem man das händisch angelegte Verzeichnis löscht und dann den Rechner neu starten.
| | Die Datei [[system.journal]] liegt in einem Unterordner von |
| | * /run/log/journal/ |
| | * /var/log/journal/ |
|
| |
|
| Möchte man keine Journaldatei anlegen und somit das Logging komplett deaktivieren (nicht empfohlen!), muss man für den Schlüssel <tt>Storage</tt> den Wert <tt>none</tt> eintragen.
| | == Aufruf == |
| | <syntaxhighlight lang="bash" highlight="1" line copy> |
|
| |
|
| === Zusätzliche Journal-Dateien pro Benutzer === | | </syntaxhighlight> |
| Ist das [https://wiki.ubuntuusers.de/systemd/journald/#Speichereinstellung-fuer-das-Journal-aendern persistente Speichern] des Journals aktiviert, wird zusätzlich zur Journal-Datei '''system.journal''' eine '''.journal'''-Datei für jeden Benutzer angelegt.
| | === Optionen === |
| * Diese folgen dem Namensschema '''user-XXXX.journal''', wobei <tt>XXXX</tt> die Nutzer-ID (UID) auf dem System ist.
| | === Argumente === |
| * Der 1. angelegte Benutzer hat bei Ubuntu die Nummer <tt>1000</tt>, der zweite <tt>1001</tt> usw.
| | === Umgebungsvariablen === |
| * In diesen Journal-Dateien werden dann nur die Logs gesammelt, die nur durch den Benutzer (und nicht das System) generiert werden.
| | === Exit-Status === |
| | == Anwendung == |
| | === Problembehebung === |
| | <noinclude> |
|
| |
|
| === Weiterleitung der Logs an syslog === | | == Anhang == |
| In der Standardkonfiguration von journald unter Ubuntu werden die Logs, welches ins zentrale Journal geschrieben werden, zusätzlich an [http://www.rsyslog.com/ rsyslog] weiter geleitet, welches die traditionelle Logdatei '''/var/log/syslog''' anlegt.
| | === Siehe auch === |
| * Die Weiterleitung erfolgt über den Socket '''/run/systemd/journal/syslog'''.
| | <div style="column-count:2"> |
| | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> |
| | </div> |
| | ---- |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} |
|
| |
|
| Um das Weiterleiten zu deaktivieren, muss man in der Konfigurationsdatei von journald den Schlüssel <tt>ForwardToSyslog</tt> auf <tt>no</tt> setzen.
| | === Dokumentation === |
| | ; Man-Page |
| | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] |
|
| |
|
| Zu beachten ist, dass die Weiterleitung an syslog unabhängig von dem gesetzten Werte für <tt>Storage</tt> ist.
| | <!-- |
| * D.h. bei <tt>Storage=none</tt> und <tt>ForwardToSyslog=yes</tt> werden trotzdem alle Meldungen im syslog gespeichert.
| | ; Info-Pages |
| | | --> |
| == Journal-Datei auslesen ==
| |
| === journalctl ===
| |
| journalctl ist das Standardwerkzeug zum Auslesen und Anzeige der Journaldatei.
| |
| * Mehr Informationen sind im separaten Artikel [https://wiki.ubuntuusers.de/systemd/journalctl/ journalctl] zu finden.
| |
|
| |
|
| === strings und grep === | | === Links === |
| Auch wenn die Logdateien in einem Binärformat gespeichert werden, sind darin gespeicherten Meldungen unverändert als Zeichenketten abgelegt und lassen sich mit dem Werkzeug <tt>strings</tt> (enthalten im Paket '''binutils''') und [https://wiki.ubuntuusers.de/grep/ grep] auch ohne journalctl herausfiltern:
| | ==== Projekt ==== |
| | ==== Weblinks ==== |
| | # https://wiki.ubuntuusers.de/systemd/ |
| | # https://de.wikipedia.org/wiki/Logging |
|
| |
|
| strings /pfad/zum/system.journal | grep -i SUCHBEGRIFF
| | [[Kategorie:Journald]] |
|
| |
|
| (der Pfad ist meist ein Unterordner von /run/log/journal/)
| | </noinclude> |
journald - Service Unit des systemd zum Logging in das zentrale Journal
Beschreibung
- 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
- 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
- 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
- prep(1)
Links
Projekt
Weblinks
- https://wiki.ubuntuusers.de/systemd/
- https://de.wikipedia.org/wiki/Logging