|
|
| (129 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| '''journalctl''' - Abfragen des Systemd-Journals | | '''journalctl''' - Abfragen des Systemd-Journals |
|
| |
|
| = Syntax = | | == Beschreibung == |
| journalctl [OPTIONEN…] [ÜBEREINSTIMMUNGEN…]
| | [[journalctl]] dient der Abfrage von Inhalten des Journals von [[Systemd]] wie von [[Systemd/Journald | Journald]] geschrieben |
|
| |
|
| = Anwendungen =
| | ; [[systemd]] bringt ein eigenes Logging-Framework namens [[journald]] mit |
| Ohne Argumente werden alle gesammelten Protokolle ungefiltert angezeigt:
| | * 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 |
| journalctl
| | * 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 |
|
| |
|
| Wird ein Treffer angegeben, werden alle Einträge, bei denen ein Feld auf den Ausdruck passt, angezeigt:
| | ; Journal abfragen |
| journalctl _SYSTEMD_UNIT=avahi-daemon.service
| | Mit dem Wechsel von herkömmlichen init-Skripten zu <code>systemd</code> wurde ein eigenes Protokolliersystem eingeführt, das als ''Journal'' bezeichnet wird |
| journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope
| | * Alle Systemereignisse werden in das Journal geschrieben, sodass kein <code>syslog</code>-basierter Service ausgeführt werden muss |
|
| |
|
| Falls zwei verschiedene Felder verglichen werden, werden nur Einträge, die auf beide Ausdrücke gleichzeitig passen, angezeigt:
| | Das Journal selbst ist ein Systemservice und wird mit <code>systemd</code> verwaltet |
| journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
| | * Die vollständige Bezeichnung des Service lautet <code>systemd-journald.service</code> |
| | * 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 |
|
| |
|
| Falls sich zwei Treffer auf das gleiche Feld beziehen, werden alle Einträge, die auf einer der zwei Ausdrücke passen, angezeigt:
| | ; Der Dienst systemd-journald ist standardmäßig aktiviert |
| journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service | | <syntaxhighlight lang="bash" highlight="1" line copy> |
| | sudo systemctl status systemd-journald |
| | </syntaxhighlight> |
| | <syntaxhighlight lang="bash" highlight="" line> |
| | 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 |
| | [...] |
| | </syntaxhighlight> |
|
| |
|
| Falls der Trenner »+« verwandt wird, können zwei Ausdrücke mit einem logischen ODER verbunden werden. Folgendes Beispiel wird alle Nachrichten vom Avahi-Diensteprozess mit der PID 28097 sowie alle Nachrichten vom D-Bus-Dienst (von einem beliebigen Prozess)
| | == Installation == |
| anzeigen:
| | <syntaxhighlight lang="bash" highlight="1" line copy> |
| journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
| | </syntaxhighlight> |
|
| |
|
| Um alle Felder, die von und über die Unit ausgegeben werden, anzuzeigen, sollte die Option -u/--unit= verwandt werden. journalctl -u name expandiert zu einem komplexen Filter ähnlich zu
| | == Aufruf == |
| _SYSTEMD_UNIT=Name.service
| | <syntaxhighlight lang="bash" highlight="1" line copy> |
| + UNIT=Name.service _PID=1
| | </syntaxhighlight> |
| + OBJECT_SYSTEMD_UNIT=Name.service _UID=0
| |
| + COREDUMP_UNIT=Name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1
| |
|
| |
|
| (siehe systemd.journal-fields(5) für eine Erklärung dieser Muster).
| | === Optionen === |
| | Häufig verwendete, nützliche Optionen, mit denen Sie das Standardverhalten von <code>journalctl</code> optimieren |
| | * Alle Schalter sind auf der man-Seite zu <code>journalctl</code> (<code>man 1 journalctl</code>) beschrieben |
|
| |
|
| Zeigt alle Protokolle, die vom D-Bus-Programm erzeugt wurden: | | {| class="wikitable sortable options big" |
| | |- |
| | ! Option !! Beschreibung |
| | |- |
| | | -f || Zeigt lediglich die jüngsten Protokollmeldungen an und gibt neue Protokolleinträge aus, sobald sie zum Journal hinzugefügt werden |
|
| |
|
| journalctl /usr/bin/dbus-daemon
| | |- |
| | | -e || Gibt die Meldungen aus und springt an das Ende des Journals, sodass im Pager die aktuellen Einträge sichtbar sind |
|
| |
|
| Zeigt alle Kernelprotokolle vom vorherigen Systemstart:
| | |- |
| | | -r || Gibt die Meldungen des Journals in umgekehrter Reihenfolge aus (die jüngsten Einträge zuerst) |
|
| |
|
| journalctl -k -b -1
| | |- |
| | | -k || Zeigt nur Kernel-Meldungen an |
| | * Dies entspricht der Feldzuordnung <code>_TRANSPORT=kernel</code> (siehe [https://documentation.suse.com/de-de/sles/12-SP5/html/SLES-all/cha-journalctl.html#journalctl-filtering-fields Abschnitt 15.3.3, „Filtern nach Feldern“]) |
| | |- |
| | | -u || Zeigt nur Meldungen für die angegebene <code>systemd</code>-Einheit an |
| | * Dies entspricht der Feldzuordnung <code>_SYSTEMD_UNIT=''UNIT'' |
| | # journalctl -u apache2 |
| | [...] Jun 03 10:07:11 pinkiepie systemd[1]: Starting The Apache Webserver. |
| | Jun 03 10:07:12 pinkiepie systemd[1]: Started The Apache Webserver |
| | |} |
|
| |
|
| Zeigt eine Live-Protokollanzeige von einem Systemdienst apache.service:
| | ; Tipp: Meldungen für eine bestimmte ausführbare Datei |
| | Sollen alle Journaleinträge für eine bestimmte ausführbare Datei angezeigt werden, geben Sie den vollständigen Pfad zu dieser Datei an |
|
| |
|
| journalctl -f -u apache
| | journalctl /usr/lib/systemd/systemd |
|
| |
|
| = Beschreibung = | | === Parameter === |
| * journalctl kann zur Abfrage der Inhalte des Journals von systemd(1) wie von systemd-journald.service(8) geschrieben benutzt werden.
| | === Umgebungsvariablen === |
| * Beim Aufruf ohne Parameter wird der gesamte Inhalt des Journals angezeigt, beginnend mit dem ältesten gesammelten Eintrag.
| | === Exit-Status === |
| * Falls ein oder mehrere Übereinstimmungsparameter übergeben werden, wird die Ausgabe entsprechend gefiltert.
| | {| class="wikitable options col1center big" |
| ** Eine Übereinstimmung ist in der Form »FELD=Wert«, z.B. »_SYSTEMD_UNIT=httpd.service«, was sich auf strukturierte Journal-Einträge bezieht.
| | |- |
| ** Siehe systemd.journal-fields(7) für eine Liste von gut bekannten Feldern.
| | ! Wert !! Beschreibung |
| ** Falls mehrere Übereinstimmungen, die verschiedene Übereinstimmungsfelder festlegen, übergeben werden, werden die Protokolleinträge entsprechend aller Felder gefiltert, d.h. die resultierende
| | |- |
| Ausgabe wird nur Einträge zeigen, die mit allen angegebenen Übereinstimmungen dieser Art übereinstimmen.
| | | 0 || Erfolg |
| * Falls zwei Übereinstimmungen auf das gleiche Feld angewandt werden, dann werden sie automatisch als Alternativen auf Übereinstimmung geprüft, d.h. die
| | |- |
| resultierende Ausgabe wird Einträge zeigen, die mit jeder der angegebenen Übereinstimmungen für das gleiche Feld übereinstimmen.
| | | >0 || Fehler |
| * Schließlich darf das Zeichen »+« als separates Wort zwischen anderen Ausdrücken auf der Befehlszeile erscheinen.
| | |} |
| * Dies führt dazu, dass alle Übereinstimmungen davor und danach als Disjunktion (d.h. als logisches ODER) verknüpft werden.
| |
|
| |
|
| * Es ist auch möglich, die Einträge durch Angabe eines absoluten Dateipfads zu filtern.
| | == Anwendung == |
| ** Der Dateipfad kann eine Datei oder ein symbolischer Link sein und die Datei muss zum Zeitpunkt der Abfrage existieren.
| | <syntaxhighlight lang="bash" highlight="1" line copy> |
| ** Falls sich der Dateipfad auf ein ausführbares Programm bezieht, wird eine »_EXE=«-Übereinstimmung für den kanonisierten Programmpfad zu der Abfrage hinzugefügt.
| | </syntaxhighlight> |
| ** Falls sich ein Dateipfad auf ein ausführbares Skript bezieht, wird eine »_COMM=«-Übereinstimmung für den Skriptpfad zu der Abfrage hinzugefügt.
| |
| ** Falls ein Dateipfad sich auf einen Geräteknoten bezieht, wird eine »_KERNEL_DEVICE=«-Übereinstimmung für den Kernelnamen des Gerätes und für jeden seiner Nachkommensgeräte zu der Abfrage hinzugefügt.
| |
|
| |
|
| * Symbolische Links werden dereferenziert
| | Rufen Sie beispielsweise journalctl ohne weitere Parameter auf, bekommen Sie einen interaktiven Auszug aller Log-Dateien, so wie sie früher in /var/log/syslog oder /var/log/messages |
| ** Kernelnamen werden synthetisiert und Elterngeräte werden zum Zeitpunkt der Abfrage identifiziert. | | landeten |
| ** Im Allgemeinen ist ein Geräteknoten der beste Proxy für ein tatsächliches Gerät, da Protokolleinträge normalerweise keine Felder enthalten, die tatsächliche Geräte identifizieren. | | * Hier können Sie auch durch Eingabe eines großen »F« in den Follow-Modus wechseln |
| ** Damit die resultierenden Protokolleinträge für das tatsächliche Gerät korrekt sind, muss der relevante Teil der Umgebung zum Zeitpunkt der Protokollierung des Eintrags, insbesondere das dem Geräteknoten entsprechende tatsächliche Gerät, identisch zum Zeitpunkt der Abfrage sein. | | * Mit dem Parameter -f oder --follow wird Ihnen das Log analog zu einem tail -f angezeigt |
| ** Da Geräteknoten im Allgemeinen nach Systemneustarts ihre entsprechenden Geräte ändern, führt die Angabe von Geräteknotenpfaden dazu, dass die resultierenden Einträge auf solche des aktuellen Systemstarts begrenzt sind. | | * Wenn Sie die letzten 20 Log-Einträge anschauen wollen, benutzen Sie -n 20 oder --lines=20 |
| | * Der Parameter --reverse zeigt die Einträge in umgekehrter Reihenfolge an |
|
| |
|
| Mit den Optionen --boot, --unit= usw. können zusätzliche Einschränkungen hinzugefügt werden, um weiter einzuschränken, welche Einträge angezeigt werden (logisches UND).
| | Einträge eines bestimmten Zeitraums grenzen Sie durch --since und --until ein |
| | * Dabei wird ein Datum in der Form "2018-07-30 18:17:16" ausgewertet |
| | * Ohne Datum wird der heutige Tag angenommen, ohne Sekunden wird 0 (null) angenommen, Sonderausdrücke wie yesterday, today, tomorrow oder now sind möglich |
|
| |
|
| Die Ausgabe wird aus allen zugreifbaren Quellen verschachtelt, unabhängig davon, ob sie rotiert oder momentan geschrieben werden und unabhängig davon, ob sie zu dem System selbst gehören oder zugreifbare Benutzer-Journale sind.
| | Einer der wichtigsten Parameter ist -u oder --unit=, womit nur die Log-Dateien einer einzelnen Unit oder eines Satzes an Units ausgegeben werden |
|
| |
|
| Die Gruppe der verwandten Journal-Dateien kann mit den Optionen --user, --system, --directory und --file verändert werden, siehe unten.
| | ; Log-Auszug des SSH-Daemons |
| | Log-Einträge des SSH-Daemons vom 5. Juni 2023 zwischen 13:00 Uhr und 14:00 Uhr |
|
| |
|
| Allen Benutzern wird Zugriff auf ihre privaten benutzerbezogenen Journale gewährt. Standardmäßig wird allerdings nur Root und Benutzern, die Mitglied ein paar besonderer Gruppen sind, der Zugriff auf das System-Journal und die Journale der anderen Benutzer
| | <syntaxhighlight lang="bash" highlight="1" line copy> |
| gewährt. Mitglieder der Gruppen »systemd-journal«, »adm« und »wheel« können alle Journal-Dateien lesen. Beachten Sie, dass die zwei letzten Gruppen traditionell über zusätzliche, von der Distribution festgelegte Privilegien verfügen. Mitglieder der Gruppe
| | sudo journalctl --since="2023-06-05 13:00" --until="2023-06-05 14:00" --unit=sshd.service |
| »wheel« können oft zusätzliche administrative Aufgaben durchführen.
| | </syntaxhighlight> |
| | <syntaxhighlight lang="bash" highlight="" line> |
| | -- Logs begin at Mo 2023-06-05 07:19:24 CEST, end at Mo 2023-06-05 15:56:51 CEST. -- |
| | Jun 05 13:07:24 centos sshd[13128]: reverse mapping checking getaddrinfo for \ |
| | 1-2-3-4.a.b [1.2.3.4] failed - POSSIBLE BREAK-IN ATTEMPT! |
| | Jun 05 13:07:24 centos sshd[13130]: reverse mapping checking getaddrinfo for \ |
| | 1-2-3-4.a.b [1.2.3.4] failed - POSSIBLE BREAK-IN ATTEMPT! |
| | Jun 05 13:07:24 centos sshd[13128]: Connection closed by 1.2.3.4 [preauth] |
| | Jun 05 13:07:24 centos sshd[13130]: Connection closed by 1.2.3.4 [preauth] |
| | </syntaxhighlight> |
|
| |
|
| Die Ausgabe wird standardmäßig seitenweise durch less geleitet und lange Zeilen werden auf Bildschirmbreite »abgeschnitten«. Der versteckte Anteil kann mittels der Pfeil-links- und Pfeil-rechts-Tasten betrachtet werden. Seitenweise Anzeige kann deaktiviert | | Die Logs von [[journald]] werden nach einem Neustart gelöscht |
| werden; siehe die Option --no-pager und den Abschnitt »Umgebungsvariablen« unten. | | * Wenn Sie das nicht wollen, sollten Sie das Verzeichnis /var/log/journal anlegen und das Signal SIGUSR1 an den journald-Prozess senden |
| | * Damit werden die Logs in dem angegebenen Verzeichnis persistiert, sodass sie maximal zehn Prozent der Größe des Dateisystems belegen |
| | * Weitere Konfigurationen nehmen Sie in der Datei /etc/systemd/journald.conf vor |
|
| |
|
| Erfolgt die Ausgabe auf ein TTY, werden die Zeilen entsprechend der Priorität eingefärbt: Zeilen der Stufe ERROR und höher werden rot eingefärbt; Zeilen der Stufe NOTICE und höher werden hervorgehoben; Zeilen der Stufe DEBUG werden in leichtem Grau
| | === Filtern der Journalausgabe === |
| eingefärbt; andere Zeilen werden normal dargestellt.
| | Wenn Sie <code>journalctl</code> ohne Schalter aufrufen, wird der gesamte Inhalt des Journals angezeigt (die ältesten Einträge an erster Stelle) |
| | * Die Ausgabe kann mit bestimmten Schaltern und Feldern gefiltert werden |
|
| |
|
| | ==== Filtern nach Bootnummer ==== |
| | [[journalctl]] kann die Meldungen nach einem bestimmten System-Bootvorgang filtern |
| | * Zum Anzeigen einer Liste mit allen verfügbaren Bootvorgängen führen Sie Folgendes aus |
|
| |
|
| | journalctl --list-boots -1 |
| | 0 97ed2cd99124a2391d2cffab1b566f0 Mon 2014-05-26 08:36:56 EDT—Fri 2014-05-30 05:33:44 EDT |
| | 1 56019a44a774a0bb0148a92df4af81b Fri 2014-05-30 05:34:09 EDT—Fri 2014-05-30 06:15:01 EDT |
|
| |
|
| = Optionen =
| | * Die erste Spalte enthält den Boot-Offset: <code>0</code> für den aktuellen Bootvorgang, <code>-1</code> für den vorangegangenen Bootvorgang, <code>-2</code> für den davor erfolgten Bootvorgang usw |
| | * Die zweite Spalte zeigt die Boot-ID, gefolgt von den Zeitstempeln für Beginn und Ende des Zeitraums, über den das System nach dem Bootvorgang aktiv war |
|
| |
|
| --no-full, --full, -l
| | ; Alle Meldungen für den aktuellen Bootvorgang anzeigen |
| Felder verkürzen, wenn sie nicht in die verfügbaren Spalten passen. Die Vorgabe ist, volle Felder zu zeigen, und dem Textanzeigeprogramm, falls eines verwandt wird, zu erlauben, diese umzubrechen oder abzuschneiden. Die alten Optionen -l/--full sind nicht mehr nützlich, außer um --no-full rückgängig zu machen. | | journalctl -b |
|
| |
|
| -a, --all
| | Wenn Sie die Journalmeldungen für den vorangegangenen Bootvorgang abrufen möchten, hängen Sie einen Offset-Parameter an |
| Zeigt alle Felder komplett, selbst falls sie nicht darstellbare Zeichen enthalten oder sehr lang sind. Standardmäßig werden Felder mit nicht darstellbaren Zeichen als »blob data« abgekürzt. (Beachten Sie, dass das Textanzeigeprogramm nicht darstellbare Zeichen wieder maskieren könnte.)
| |
|
| |
|
| -f, --follow
| | Im folgenden Beispiel werden die Meldungen für den vorangegangenen Bootvorgang ausgegeben |
| Nur die neusten Journal-Einträge anzeigen und kontinuierlich neue Einträge ausgeben, wenn sie im Journal auftauchen. | | journalctl -b -1 |
|
| |
|
| -e, --pager-end | | Alternativ können Sie die Bootmeldungen nach der Boot-ID auflisten |
| Sofort im implizierten Textanzeigeprogramm zum Ende des Journals springen. Dies impliziert -n1000, um sicherzustellen, dass das Textanzeigeprogramm keine Protokolle von unbegrenzter Größe puffern wird. Dies kann mit dem expliziten Schalter -n mit einer anderen numerischen Größe außer Kraft gesetzt werden, während -nall diese Begrenzung abschaltet. Beachten Sie, dass diese Option nur vom Textanzeigeprogramm less(1) unterstützt wird.
| |
|
| |
|
| -n, --lines=
| | Verwenden Sie hierzu das Feld _BOOT_ID |
| Zeigt die neusten Journal-Einträge und begrenzt die Anzahl der zu zeigenden Ereignisse. Falls --follow verwandt wird, ist diese Option impliziert. Das Argument ist eine positive Ganzzahl oder »all«, um die Zeilenbegrenzung zu deaktivieren. Der Vorgabewert ist 10, falls kein Argument angegeben wird. | | journalctl _BOOT_ID=156019a44a774a0bb0148a92df4af81b |
|
| |
|
| --no-tail | | ==== Filtern nach Zeitraum ==== |
| Zeigt alle gespeicherten Ausgabezeilen, selbst im Folgemodus. Setzt den Effekt von --lines= zurück.
| | Sie können die Ausgabe von <code>journalctl</code> durch Angabe des Start- oder Enddatums filtern |
| | * Für Datumsangaben gilt das Format „2014-06-30 9:17:16“ |
| | * Wenn Sie keine Uhrzeit angeben, wird Mitternacht (0:00 Uhr) angenommen |
| | * Wenn die Sekundenangabe fehlt, wird „:00“ angenommen |
| | * Wenn Sie kein Datum angeben, wird das aktuelle Datum angenommen |
| | * Statt eines numerischen Ausdrucks können Sie die Schlüsselwörter „gestern“, „heute“ oder „morgen“ angeben |
| | * Diese Wörter bezeichnen Mitternacht am Tag vor dem aktuellen Tag, am aktuellen Tag bzw |
| | * am Tag nach dem aktuellen Tag |
| | * Das Schlüsselwort „now“ (jetzt) verweist auf die aktuelle Uhrzeit am heutigen Tag |
| | * Auch relative Zeitangaben mit dem Präfix <code>-</code> oder <code>+</code> sind möglich |
| | * Diese Zeitangaben verweisen dann entsprechend auf eine Uhrzeit vor oder nach der aktuellen Uhrzeit |
|
| |
|
| -r, --reverse | | Nur neue Meldungen ab jetzt anzeigen und Ausgabe entsprechend aktualisieren |
| Die Ausgabe invertieren, so dass die neusten Einträge zuerst dargestellt werden.
| | journalctl --since "now" -f |
|
| |
|
| -o, --output= | | Alle Meldungen ab der letzten Mitternacht bis 3:20 Uhr anzeigen |
| Steuert die Formatierung der angezeigten Journal-Einträge. Akzeptiert eine der folgenden Optionen:
| | journalctl --since "today" --until "3:20" |
|
| |
|
| short
| | ==== Filtern nach Feldern ==== |
| Ist die Vorgabe und erstellt eine Ausgabe, die größtenteils identisch zu der Formatierung klassischer Syslog-Dateien ist und eine Zeile pro Journal-Eintrag anzeigt.
| | Sie können die Ausgabe des Journals nach bestimmten Feldern filtern |
| | * Die Syntax für ein abzugleichendes Feld lautet <code>FELDNAME=FILTERKRITERIUM</code>, beispielsweise <code>_SYSTEMD_UNIT=httpd.service</code> |
| | * Wenn Sie mehrere Filterkriterien in einer einzigen Abfrage angeben, werden die Ausgabemeldungen noch stärker gefiltert |
| | * Eine Liste der Standardfelder finden Sie auf der man-Seite <code>man 7 systemd.journal-fields</code> |
|
| |
|
| short-full
| | ; Meldungen anzeigen, die von einer bestimmten Prozess-ID erzeugt wurden |
| Ist sehr ähnlich, zeigt aber Zeitstempel im Format, das die Optionen --since= und --until= akzeptieren. Anders als die im Ausgabemodus short gezeigten Zeitstempelinformationen enthält dieser Modus den Wochentag, das Jahr und die
| |
| Zeitzoneninformationen in der Ausgabe und ist unabhängig von der Locale.
| |
|
| |
|
| short-iso
| | journalctl _PID=1039 |
| Ist sehr ähnlich, zeigt aber ISO 8601-Uhrzeit-Zeitstempel. | |
|
| |
|
| short-iso-precise
| | ; Meldungen anzeigen, die zu einer bestimmten Benutzer-ID gehören |
| Wie bei short-iso, enthält aber komplette Mikrosekundengenauigkeit.
| |
|
| |
|
| short-precise
| | journalctl _UID=1000 |
| Ist sehr ähnlich, zeigt aber klassische Syslog-Zeitstempel mit voller Mikrosekundengenauigkeit. | |
|
| |
|
| short-monotonic
| | ; Meldungen aus dem Kernel-Ring-Puffer anzeigen (entspricht der Ausgabe von <code>dmesg</code>) |
| Ist sehr ähnlich, zeigt aber monotone Zeitstempel statt normaler Uhrzeitzeitstempel.
| |
|
| |
|
| short-unix
| | journalctl _TRANSPORT=kernel |
| Ist sehr ähnlich, zeigt aber die seit 1. Januar 1970 UTC vergangene Zeit statt normaler Uhrzeitzeitstempel (»UNIX-Zeit«). Die Zeit wird mit Mikrosekundengenauigkeit angezeigt. | |
|
| |
|
| verbose
| | ; Meldungen aus der Standard- oder Fehlerausgabe des Services anzeigen |
| Zeigt vollstrukturierte Einträgeelemente mit allen Feldern.
| |
|
| |
|
| export
| | journalctl _TRANSPORT=stdout |
| Serialisiert das Journal in einen binären (aber größtenteils textbasierten) Strom, der für Sicherungen und Netzwerkübertragungen geeignet ist (siehe Journal-Exportformat[1] für weitere Informationen). Um den binären Strom wieder in das native | |
| Journald-Format zu importieren, siehe systemd-journal-remote(8).
| |
|
| |
|
| json
| | ; Nur Meldungen anzeigen, die von einem bestimmten Service erzeugt wurden |
| Formatiert Einträge als JSON-Objekte, getrennt durch Zeilenumbrüche (siehe Journal-JSON-Format[2] für weitere Informationen). Feldwerte werden im Allgemeinen als JSON-Zeichenketten kodiert, mit drei Ausnahmen:
| |
|
| |
|
| 1. Felder, die größer als 4096 Byte sind, werden als null-Werte kodiert. (Dies kann durch Übergabe von --all abgeschaltet werden, beachten Sie aber, dass dies sehr lange JSON-Objekte vorbelegen kann.)
| | journalctl _SYSTEMD_UNIT=avahi-daemon.service |
|
| |
|
| 2. Journal-Einträge erlauben nicht eindeutige Felder innerhalb des gleichen Protokolleintrags. JSON erlaubt keine uneindeutigen Felder innerhalb von Objekten. Daher wird ein JSON-Array als Feldwert benutzt, wenn ein nicht eindeutiges Feld
| | ; Wenn Sie zwei verschiedene Felder angeben, werden nur solche Einträge zurückgegeben, die beide Ausdrücke gleichzeitig erfüllen |
| angetroffen wird, wobei alle Feldwerte als Elemente aufgeführt werden.
| |
|
| |
|
| 3. Felder, die nicht darstellbare Zeichen oder Nicht-UTF8-Zeichen enthalten werden als Arrays kodiert, wobei die rohen Bytes individuell als vorzeichenlose Zahlen formatiert werden.
| | journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=1488 |
|
| |
|
| Beachten Sie, dass diese Kodierung invertierbar ist (mit der Ausnahme der Größenbegrenzung).
| | ; Wenn Sie zwei Kriterien für dasselbe Feld angeben, werden alle Einträge zurückgegeben, die einen dieser Ausdrücke erfüllen |
|
| |
|
| json-pretty
| | journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service |
| Formatiert Einträge als JSON-Datenstrukturen, aber formatiert sie in mehreren Zeilen, um sie durch Menschen besser lesbar zu gestalten.
| |
| | |
| json-sse
| |
| Formatiert Einträge als JSON-Datenstrukturen, aber bricht sie in einem Format um, das für Server-Sendeereignisse[3] geeignet ist.
| |
| | |
| json-seq
| |
| Formatiert Einträge als JSON-Datenstrukturen, stellt Ihnen aber einen ASCII-Datensatztrennzeichen (0x1E) voran und hängt ihnen einen ASCII-Zeilenumbruchzeichen (0x0A) an, in Übereinstimmung mit der JavaScript-Objektnotation (JSON) Textsequenzen[4]
| |
| ("application/json-seq").
| |
| | |
| cat
| |
| Erstellt eine sehr knappe Ausgabe, zeigt nur die tatsächlichen Nachrichten von jedem Journal-Eintrag ohne Metadaten, nicht mal einen Zeitstempel. | |
| | |
| with-unit
| |
| Ähnlich zu short-full, aber die Unit- und Benutzernamen werden statt der traditionellen Syslog-Kennzeichner vorangestellt. Bei der Verwendung von vorlagenbasierten Instanzen nützlich, da es die Argumente in den Unit-Namen einschließt.
| |
| | |
| --output-fields=
| |
| Ein Kommata-getrennte Liste von Feldern, die in der Ausgabe aufgenommen werden soll. Dies hat nur für die Ausgabemodi, die normalerweise alle Felder anzeigen würden (verbose, export, json, json-pretty, json-sse und json-seq), Wirkung. Die Felder
| |
| »__CURSOR«, »__REALTIME_TIMESTAMP«, »__MONOTONIC_TIMESTAMP« und »_BOOT_ID« werden immer ausgegeben.
| |
| | |
| --utc
| |
| Gibt die Zeit in koordinierter Weltzeit (UTC) aus.
| |
| | |
| --no-hostname
| |
| Zeigt das Feld »hostname« bei Protokollnachrichten, die von der lokalen Maschine stammen, nicht an. Dies hat nur für die Familie short der Ausgabemodi Wirkung (siehe oben).
| |
| | |
| Hinweis: Diese Option entfernt keine Vorkommen von Rechnernamen aus den Protokolleinträgen selbst, sie verhindert somit nicht, dass Rechnernamen in den Protokollen sichtbar werden.
| |
| | |
| -x, --catalog
| |
| Ergänzt Protokollzeilen mit Erklärungstext aus dem Nachrichtenkatalog. Wo verfügbar, wird dies erklärenden Hilfetext zu den Protokollnachrichten in der Ausgabe hinzufügen. Diese kurzen Hilfetexte werden den Kontext eines Fehlers oder
| |
| Protokollereignisses, mögliche Lösungen sowie Verweise auf Unterstützungsforen, Entwicklerdokumentation und andere relevante Handbücher enthalten. Beachten Sie, dass nicht für alle Nachrichten Hilfetexte verfügbar sind, sondern nur für ausgewählte. Für
| |
| weitere Informationen über den Nachrichtenkatalog schauen Sie bitte in die Entwicklerdokumentation für den Nachrichtenkatalog[5].
| |
| | |
| Beachten Sie: Wenn Sie die Ausgabe von journalctl an Fehlerberichte anhängen, verwenden Sie -x nicht.
| |
| | |
| -q, --quiet
| |
| Unterdrückt alle informellen Nachrichten (d.h. "-- Logs begin at …", "-- Reboot --"), alle Warnungsmeldungen bezüglich nicht zugreifbarer System-Journale beim Betrieb als normaler Benutzer.
| |
| | |
| -m, --merge
| |
| Zeigt Einträge verschachtelt aus allen verfügbaren Journalen, auch aus fernen.
| |
| | |
| -b [[Kennung][±Versatz]|all], --boot[=[Kennung][±Versatz]|all]
| |
| Zeigt Nachrichten von einem bestimmten Systemstart. Dies passt auf »_BOOT_ID=«.
| |
| | |
| Das Argument darf leer sein, in diesem Fall werden die Protokolle für den aktuellen Systemstart angezeigt.
| |
| | |
| Falls die Systemstartkennung weggelassen wird, wird ein positiver Versatz die Systemstarts, beginnend vom Anfang des Journals, nachschlagen, und ein Versatz, der kleiner oder gleich Null ist, wird die Systemstarts beginnend vom Ende des Journals
| |
| nachschlagen. Daher bedeutet 1 den ersten im Journal in chronologischer Ordnung gefundenen Systemstart, 2 den zweiten und so weiter, während -0 der neuste Systemstart ist, -1 der Systemstart vor dem neusten und so weiter. Ein leerer Versatz ist
| |
| äquivalent zur Festlegung von -0, außer wenn der aktuelle Systemstart nicht der neuste ist (z.B. da --directory angegeben wurde, um Protokolle von anderen Maschinen anzusehen).
| |
| | |
| Falls die 32-Zeichen-Kennung angegeben ist, kann sie optional vom Versatz gefolgt werden, der den Systemstart relativ zu der angegebenen Kennung identifiziert. Negative Werte bedeuten vorherige Systemstarts und positive Werte bedeuten nachfolgende
| |
| Systemstarts. Falls Versatz nicht angegeben ist, wird ein Wert Null angenommen und die Protokolle des durch Kennung angegebenen Systemstarts werden angezeigt.
| |
| | |
| Das besondere Argument all kann zur Negierung der Wirkung eines vorhergehenden Einsatzes von -b verwandt werden.
| |
| | |
| --list-boots
| |
| Zeigt eine tabellarische Liste von Systemstartnummern (relativ zum aktuellen Systemstart), ihre Kennungen und die Zeitstempel der ersten und letzten zu dem Systemstart zugehörigen Meldung.
| |
| | |
| -k, --dmesg
| |
| Zeigt nur Kernelnachrichten. Dies impliziert -b und fügt die Übereinstimmung »_TRANSPORT=kernel« hinzu.
| |
| | |
| -t, --identifier=SYSLOG-KENNUNG
| |
| Zeigt Nachrichten für den angegebenen Syslog-Kennzeichner SYSLOG_IDENTIFIER.
| |
| | |
| Dieser Parameter kann mehrfach angegeben werden.
| |
| | |
| -u, --unit=UNIT|MUSTER
| |
| Zeigt Nachrichten für die angegebene Systemd-Unit UNIT (wie eine Dienste-Unit) oder für alle Units, die auf MUSTER passen. Falls ein Muster angegeben ist, wird eine Liste von im Journal gefundenen Unit-Namen mit dem angegebenen Muster verglichen und alle
| |
| Treffer werden verwandt. Für jeden Unit-Namen wird ein Treffer zu der Nachricht aus der Unit (»_SYSTEMD_UNIT=UNIT«), zusammen mit zusätzlichen Treffern für Nachrichten von Systemd und Nachrichten über Speicherauszüge, für die angegebene Unit hinzugefügt.
| |
| Für »_SYSTEMD_SLICE=UNIT« wird auch ein Treffer hinzugefügt, so dass alle Protokolle der Kinder einer Scheibe protokolliert werden, falls die bereitgestellte UNIT eine systemd.slice(5)-Unit ist.
| |
| | |
| Dieser Parameter kann mehrfach angegeben werden.
| |
| | |
| --user-unit=
| |
| Zeigt Nachrichten für die angegebene Benutzer-Sitzungs-Unit. Dies wird einen Treffer für Nachrichten von der Unit (»_SYSTEMD_USER_UNIT=« und »_UID=«) und zusätzliche Treffer für Nachrichten von Sitzungs-Systemds und Nachrichten über Speicherauszüge für
| |
| die angegebene Unit hinzufügen. Für »_SYSTEMD_SLICE=UNIT« wird auch ein Treffer hinzugefügt, so dass alle Protokolle der Kinder einer Scheibe protokolliert werden, falls die bereitgestellte UNIT eine systemd.slice(5)-Unit ist.
| |
| | |
| Dieser Parameter kann mehrfach angegeben werden.
| |
| | |
| -p, --priority=
| |
| Filtert die Ausgabe nach Nachrichtenprioritäten oder Prioritätsbereichen. Akzeptiert entweder eine einzelne numerische oder textuelle Protokollstufe (d.h. zwischen 0/»emerg« und 7/»debug«) oder einen Bereich von numerischen/textuellen Protokollstufen in
| |
| der Form VON..BIS. Die Protokollstufen sind die normalen Syslog-Protokollstufen, wie sie in syslog(3) dokumentiert sind, d.h. »emerg« (0), »alert« (1), »crit« (2), »err« (3), »warning« (4), »notice« (5), »info« (6), »debug« (7). Falls eine einzelne
| |
| Protokollstufe angegeben ist, werden alle Nachrichten mit dieser Protokollstufe oder einer niedrigeren (daher wichtigeren) Protokollstufe angezeigt. Falls ein Bereich angegeben ist, werden alle Nachrichten innerhalb des Bereichs angezeigt, einschließlich
| |
| des Start- und des Endwertes des Bereichs. Dies wird »PRIORITY=«-Treffer für die angegebenen Prioritäten hinzufügen.
| |
| | |
| --facility=
| |
| Ausgabe nach Syslog-Einrichtung filtern. Akzeptiert eine Kommata-getrennte Liste von Nummern oder Einrichtungsnamen. Die Namen sind die gewöhnlichen, in syslog(3) dokumentierten Syslog-Einrichtungen. --facility=help kann zur Anzeige einer Liste der
| |
| bekannten Einrichtungsnamen verwandt werden; das Programm beendet sich dann.
| |
| | |
| -g, --grep=
| |
| Filtert die Ausgabe auf Einträge, bei denen das Feld MESSAGE= auf den angegebenen regulären Ausdruck passt. PERL-kompatible reguläre Ausdrücke werden verwandt, siehe pcre2pattern(3) für eine detaillierte Beschreibung der Syntax.
| |
| | |
| Falls das Muster komplett in Kleinschreibung ist, ist der Abgleich unabhängig von der Groß-/Kleinschreibung. Andernfalls ist der Abgleich abhängig von der Groß-/Kleinschreibung. Dies kann mit der Option --case-sensitive außer Kraft gesetzt werden, siehe
| |
| unten.
| |
| | |
| --case-sensitive[=BOOLEAN]
| |
| Musterabgleich abhängig oder unabhängig von der Groß-/Kleinschreibung machen.
| |
| | |
| -c, --cursor=
| |
| Beginnt die Anzeige von Einträgen ab dem Ort im Journal, der durch den übergebenen Positionszeiger angegeben ist.
| |
| | |
| --cursor-file=DATEI
| |
| Falls DATEI existiert und einen Positionszeiger enthält, werden Einträge nach dieser Position angezeigt. Andernfalls werden die Einträge entsprechend anderer übergebener Optionen angezeigt. Zum Schluss wird der Positionszeiger des letzten Eintrages nach
| |
| DATEI geschrieben. Verwenden Sie diese Option, um das Journal kontinuierlich durch sequenziellen Aufruf von journalctl zu lesen.
| |
| | |
| --after-cursor=
| |
| Beginnt die Anzeige von Einträgen ab dem Ort im Journal nach dem Ort, der durch den übergebenen Positionszeiger angegeben ist. Der Positionszeiger wird angezeigt, wenn die Option --show-cursor verwandt wird.
| |
| | |
| --show-cursor
| |
| Der Positionszeiger wird nach dem letzten Eintrag nach zwei Gedankenstrichen angezeigt:
| |
| | |
| -- cursor: s=0639…
| |
| | |
| Das Format des Positionszeigers ist privat und kann sich ändern.
| |
| | |
| -S, --since=, -U, --until=
| |
| Die Anzeige mit neueren Einträgen ab dem angegebenen Datum oder älteren Einträgen bis zum angegebenen Datum anfangen. 18:17:16« sein. Falls der Zeitanteil weggelassen wird, wird »00:00:00« angenommen. Falls nur der Sekundenteil weggelassen wird, wird
| |
| »:00« angenommen. Falls die Datumskomponente weggelassen wird, wird der aktuelle Tag angenommen. Alternativ werden die Zeichenketten »yesterday«, »today«, »tomorrow« verstanden, die sich auf 00:00:00 gestern, den aktuellen Tag bzw. morgen beziehen. »now«
| |
| bezieht sich auf die aktuelle Zeit. Schließlich dürfen relative Zeiten angegeben werden, denen »-« oder »+« vorangestellt wird, die sich auf Zeiten vor bzw. nach der aktuellen Zeit beziehen. Für die komplette Zeit- und Datumsspezifikation siehe
| |
| systemd.time(7). Beachten Sie, dass --output=short-full Zeitstempel ausgibt, die genau diesem Format folgen.
| |
| | |
| -F, --field=
| |
| Gibt alle möglichen Datenwerte aus, die das angegebene Feld in allen Einträgen des Journals akzeptiert.
| |
| | |
| -N, --fields
| |
| Gibt alle derzeit in allen Einträgen des Journals verwandten Feldnamen aus.
| |
| | |
| --system, --user
| |
| Zeigt Nachrichten von Systemdiensten und dem Kernel (mit --system). Zeigt Nachrichten von Diensten des aktuellen Benutzers (mit --user). Falls keines angegeben ist, werden alle Nachrichten angezeigt, die der Benutzer sehen kann.
| |
| | |
| -M, --machine=
| |
| Zeigt Nachrichten von einem laufenden lokalen Container. Geben Sie einen Container-Namen an, zu dem verbunden werden soll.
| |
| | |
| -D VERZEICHNIS, --directory=VERZEICHNIS
| |
| Akzeptiert als Argument einen Verzeichnispfad. Falls angegeben, wird Journalctl auf dem angegebenen Journal-Verzeichnis VERZ statt auf den standardmäßigen Laufzeit- und System-Journal-Pfaden agieren.
| |
| | |
| --file=GLOB
| |
| Akzeptiert als Argument einen Datei-Glob. Falls angegeben, wird Journalctl auf den angegebenen Dateien, die auf GLOB passen, statt auf den standardmäßigen Laufzeit- und System-Journal-Pfaden agieren. Kann mehrfach angegeben werden, dann werden die
| |
| Dateien geeignet verschachtelt.
| |
| | |
| --root=WURZEL
| |
| Akzeptiert einen Verzeichnispfad als Argument. Falls angegeben, wird Journalctl auf Journal-Verzeichnissen und Katalogdateihierarchien unterhalb des angegebenen Verzeichnisses statt auf dem Wurzelverzeichnis agieren (z.B. wird --update-catalog
| |
| WURZEL/var/lib/systemd/catalog/database erstellen und Journal-Dateien unterhalb von WURZEL/run/journal oder WURZEL/var/log/journal werden angezeigt).
| |
| | |
| --namespace=NAMENSRAUM
| |
| Akzeptiert eine Journal-Namensraumkennzeichnungszeichenkette als Argument. Falls nicht angegeben, werden die für den Vorgabenamensraum gesammelten Daten angezeigt. Falls angegeben, werden stattdessen die Protokolldaten des angegebenen Namensraums
| |
| angezeigt. Falls der Namensraum als »*« angegeben ist, werden Daten aus allen Namensräumen verschachtelt angezeigt. Falls der Namensraumkennzeichnung ein »+« vorangestellt wird, werden die Daten aus den angegebenen Namensräumen und dem Vorgabenamensraum
| |
| verschachtelt angezeigt, aber keine weiteren. Für Details über Journal-Namensräume siehe systemd-journald.service(8).
| |
| | |
| --header
| |
| Anstatt Inhalte das Journals anzuzeigen werden interne Kopfzeileninformationen von den Journal-Feldern, auf die zugegriffen wird, angezeigt.
| |
| | |
| --disk-usage
| |
| Zeigt den aktuellen Plattenplatzverbrauch aller Journal-Dateien an. Dies zeigt die Summe der Plattenplatzverbräuche aller archivierten und aktiven Journal-Dateien.
| |
| | |
| --vacuum-size=, --vacuum-time=, --vacuum-files=
| |
| Entfernt die ältesten archivierten Journal-Dateien, bis der Plattenplatz, den sie verwenden, unter die angegebene Größe fällt (mit den üblichen Endungen »K«, »M«, »G« und »T«) oder alle archivierten Journal-Dateien, die keine Daten älter als die
| |
| angegebene Zeitspanne (mit den üblichen Endungen »s«, »m«, »h«, »days«, »months«, »weeks« und »years« angegeben) enthalten oder so dass nicht mehr als die angegebene Anzahl an separaten Journal-Dateien verbleiben. Beachten Sie, dass die Ausführung von
| |
| --vacuum-size= nur einen indirekten Effekt auf die durch --disk-usage angezeigte Ausgabe hat, da letztere die aktiven Journal-Dateien einbezieht, während die Bereinigungsaktion nur auf archivierten Journal-Dateien agiert. Ähnlich könnte --vacuum-files=
| |
| die Anzahl der Journal-Dateien nicht unterhalb der angegebenen Anzahl reduzieren, da es keine aktiven Journal-Dateien entfernen wird.
| |
| | |
| --vacuum-size=, --vacuum-time= und --vacuum-files= können in einem einzelnen Aufruf kombiniert werden, um eine Kombination einer Größen-, einer Zeit- und eine Anzahl von Dateien-Beschränkung von archivierten Journal-Dateien zu erzwingen. Wird einer
| |
| dieser drei Parameter als Null angegeben, dann ist das äquivalent dazu, die angegebene Begrenzung nicht zu erzwingen und daher redundant.
| |
| | |
| Diese drei Schalter können auch mit --rotate in einem Befehl kombiniert werden. Falls das passiert, werden alle aktiven Dateien zuerst rotiert und dann wird direkt danach die erwünschte Bereinigungsaktion ausgeführt. Die Rotation hat den Effekt, dass
| |
| alle derzeit aktiven Dateien archiviert werden (und möglicherweise neue, leere Journal-Dateien als Ersatz geöffnet werden) und daher die Bereinigungsaktion die größtmögliche Wirkung hat, da sie alle bisher geschriebenen Protokolldaten berücksichtigen
| |
| kann.
| |
| | |
| --list-catalog [128-Bit-Kennung…]
| |
| Listet die Inhalte der Nachrichtenkataloge als Tabelle von Nachrichtenkennungen plus ihrer kurzen Beschreibungszeichenketten auf.
| |
| | |
| Falls irgendeine 128-Bit-Kennung angegeben ist, werden nur diese Einträge angezeigt.
| |
| | |
| --dump-catalog [128-Bit-Kennung…]
| |
| Zeigt die Inhalte des Nachrichtenkatalogs an, wobei Einträge durch eine Zeile, die aus zwei Gedankenstrichen und der Kennung besteht, getrennt werden (das Format ist das gleiche wie bei .catalog-Dateien).
| |
| | |
| Falls irgendeine 128-Bit-Kennung angegeben ist, werden nur diese Einträge angezeigt.
| |
| | |
| --update-catalog
| |
| Aktualisiert den Nachrichtenkatalogindex. Dieser Befehl muss jedes Mal ausgeführt werden, wenn neue Katalogdateien installiert, entfernt oder aktualisiert werden, um den binären Katalogindex neu zu bauen.
| |
| | |
| --setup-keys
| |
| Anstatt die Journal-Inhalte anzuzeigen wird ein neues Schlüsselpaar für Forward Secure Sealing (FSS) erstellt. Dies erstellt einen Versiegelungsschlüssel und einen Überprüfungsschlüssel. Der Versiegelungsschlüssel wird im Journal-Datenverzeichnis
| |
| gespeichert und verbleibt auf dem Rechner. Der Überprüfungsschlüssel sollte extern gespeichert werden. Lesen Sie die Option Seal= in journald.conf(5) für Informationen über Forward Secure Sealing und für eine Referenz auf eine wissenschaftliche
| |
| Veröffentlichung, die Details über die ihr zugrundeliegende kryptographische Theorie darstellt.
| |
| | |
| --force
| |
| Wenn --setup-keys übergeben wird und Forward Secure Sealing (FSS) bereits konfiguriert wurde, werden neue FSS-Schlüssel erzeugt.
| |
| | |
| --interval=
| |
| Legt das Änderungsinterval für die Versiegelungsschlüssel für die Erzeugung eines FSS-Schlüsselpaars mit --setup-keys fest. Kürzere Intervalle erhöhen den CPU-Verbrauch, kürzen aber auch den Zeitbereich von nicht nachweisbarer Journal-Änderung.
| |
| Standardmäßig 15 Minuten.
| |
| | |
| --verify
| |
| Prüft die Journal-Dateien auf interne Konsistenz. Falls die Datei mit aktiviertem FSS erstellt wurde und der FSS-Überprüfungsschlüssel mit --verify-key= angegeben wurde, wird die Echtheit der Journal-Datei überprüft.
| |
| | |
| --verify-key=
| |
| Legt den FSS-Überprüfungsschlüssel fest, der für die Aktion --verify verwandt werden soll.
| |
| | |
| --sync
| |
| Bittet den Journal-Daemon, alle noch nicht geschriebenen Journal-Daten in das zugrundeliegende Dateisystem zu schreiben und alle Journale zu synchronisieren. Dieser Aufruf kehrt erst zurück, wenn die Synchronisationsaktion abgeschlossen ist. Dieser
| |
| Befehl garantiert, dass alle Protokollnachrichten, die vor seinem Aufruf geschrieben wurden, sicher zu dem Zeitpunkt auf Platte gespeichert sind, zu dem er zurückkehrt.
| |
| | |
| --flush
| |
| Bittet den Journal-Daemon, alle in /run/log/journal/ gespeicherten Protokolldaten nach /var/log/journal/ herauszuschieben, falls dauerhafter Speicher aktiviert ist. Dieser Aufruf kehrt erst zurück, wenn die Aktion abgeschlossen ist. Beachten Sie, dass
| |
| dieser Aufruf idempotent ist: die Daten werden nur einmal zur Systemlaufzeit von /run/log/journal/ nach /var/log/journal rausgeschrieben (siehe aber auch --relinquish-var unten) und dieser Befehl beendet sich sauber ohne Ausführung einer Aktion, falls
| |
| das bereits geschehen ist. Dieser Befehl garantiert wirksam, dass alle Daten zu dem Zeitpunkt nach /var/log/journal rausgeschoben wurden, zu dem er zurückkehrt.
| |
| | |
| --relinquish-var
| |
| Bittet den Journal-Daemon um die entgegengesetzte Aktion zu --flush: falls erbeten, wird der Daemon weitere Protokolldaten nach /run/log/journal/ schreiben und Schreiben nach /var/log/journal/ beenden. Ein nachfolgender Aufruf von --flush führt dazu,
| |
| dass die Protokollierausgabe wieder nach /var/log/journal/ zurückgewechselt wird, siehe oben.
| |
| | |
| --smart-relinquish-var
| |
| Ähnlich zu --relinquish-var, führt aber keine Aktion durch, falls sich das Wurzeldateisystem und /var/lib/journal/ auf der gleichen Partition befinden. Diese Aktion erfolgt während des Systemherunterfahrens, um den Journal-Daemon zum Beenden des
| |
| Schreibens nach /var/log/journal/ zu bekommen, falls sich das Verzeichnis auf einem Einhängepunkt befindet, der ausgehängt werden muss.
| |
| | |
| --rotate
| |
| Bittet den Journal-Daemon, die Journal-Dateien zu rotieren. Dieser Aufruf kehrt erst zurück, wenn die Rotationsaktion abgeschlossen ist. Journal-Dateien-Rotation hat den Effekt, dass alle derzeit aktiven Journal-Dateien als archiviert markiert und
| |
| umbenannt werden, so dass in der Zukunft niemals mehr in sie geschrieben wird. Dann werden stattdesse neue (leere) Journal-Dateien erstellt. Diese Aktion kann mit --vacuum-size=, --vacuum-time= und --vacuum-file= in einen einzigen Befehl kombiniert
| |
| werden, siehe oben.
| |
| | |
| -h, --help
| |
| Zeigt einen kurzen Hilfetext an und beendet das Programm.
| |
|
| |
|
| --version | | ; Mit dem Begrenzungszeichen „+“ verbinden Sie zwei Ausdrücke mit einem logischen „OR“ |
| Zeigt eine kurze Versionszeichenkette an und beendet das Programm.
| | * Im folgenden Beispiel werden alle Meldungen aus dem Avahi-Service mit der Prozess-ID 1480 zusammen mit allen Meldungen vom D-Bus-Service gezeigt |
|
| |
|
| --no-pager | | journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=1480 + _SYSTEMD_UNIT=dbus.service |
| Die Ausgabe nicht an ein Textanzeigeprogramm weiterleiten.
| |
|
| |
|
| EXIT-STATUS
| | ==== Filtern nach Kritikalität ==== |
| Im Erfolgsfall wird 0 zurückgeliefert; andernfalls wird ein von Null verschiedener Code zurückgeliefert.
| | Sie können journalctl nach Kritikalität filtern, indem Sie die Option -p mit einer Prioritätsstufe verwenden, wie z. B. err für Fehler, crit für kritisch oder alert für Alarm. Diese Option zeigt nur Einträge mit der angegebenen Priorität oder höher an. Die Prioritäten reichen von 0: emerg bis 7: debug, wobei niedrigere Nummern eine höhere Kritikalität bedeuten. |
|
| |
|
| = Umgebungsvariablen =
| | ; Fehler und höher anzeigen |
| $SYSTEMD_PAGER
| | journalctl -p err |
| Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; setzt $PAGER außer Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Textanzeigeprogrammimplementierungen der Reihe nach ausprobiert,
| |
| einschließlich less(1) und more(1), bis eines gefunden wird. Falls keine Textanzeigeprogrammimplementierung gefunden wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe
| |
| von --no-pager.
| |
|
| |
|
| $SYSTEMD_LESS
| | ; Nur kritische Nachrichten anzeigen (und höher) |
| Setzt die an less übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft.
| | journalctl -p crit |
|
| |
|
| Benutzer könnten insbesondere zwei Optionen ändern wollen:
| | ; Alle Meldungen ab „error“ im aktuellen Boot-Vorgang anzeigen |
| | journalctl -p err -b |
|
| |
|
| K | | ; Prioritätsstufen (von kritisch zu unwichtig): |
| Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen Sie diese Option zurück. | | emerg (0: Notfall) |
| | alert (1: Alarm) |
| | crit (2: kritisch) |
| | err (3: Fehler) |
| | warning (4: Warnung) |
| | notice (5: Hinweis) |
| | info (6: Information) |
| | debug (7: Fehlersuche) |
|
| |
|
| Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.
| | === Untersuchen von Fehlern === |
| | In diesem Abschnitt wird an einem einfachen Beispiel erläutert, wie Sie die Fehler auffinden und beheben, die <code>systemd</code> beim Starten von <code>apache2</code> meldet |
|
| |
|
| X
| | Versuchen Sie, den apache2-Service zu starten |
| Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmäßig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des
| | systemctl start apache2 |
| Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfügung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht möglich. | |
|
| |
|
| Siehe less(1) für weitere Ausführungen.
| | Job for apache2.service failed |
| | See 'systemctl status apache2' and 'journalctl -xn' for details |
|
| |
|
| $SYSTEMD_LESSCHARSET
| | Prüfen Sie den Status dieses Service |
| Setzt den an less zu übergebenden Zeichensatz (standardmäßig »utf-8«, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) außer Kraft.
| | systemctl status apache2 apache2.service - The Apache Webserver |
| | Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled) |
| | Active: failed (Result: exit-code) since Tue 2014-06-03 11:08:13 CEST; 7min ago |
| | Process: 11026 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND \ |
| | -k graceful-stop (code=exited, status=1/FAILURE)* Die ID des Prozesses, der den Fehler verursacht, lautet 11026 |
|
| |
|
| $SYSTEMD_COLORS
| | Rufen Sie die ausführliche Version der Meldungen zur Prozess-ID 11026 ab |
| Dies muss ein logischer Wert sein. Er steuert, ob farbige Ausgabe erstellt werden soll. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und der Art der angebundenen Konsole trifft, außer Kraft zu setzen.
| |
|
| |
|
| $SYSTEMD_URLIFY
| | journalctl -o verbose _PID=11026 |
| Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links für Terminal-Emulatoren, die dies unterstützen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft,
| | [...] MESSAGE=AH00526: Syntax error on line 6 of /etc/apache2/default-server.conf |
| außer Kraft zu setzen.
| | [...] MESSAGE=Invalid command 'DocumenttRoot', perhaps misspelled or defined by a module [...] |
|
| |
|
| = Links =
| | Korrigieren Sie den Schreibfehler in <code>/etc/apache2/default-server.conf</code>, starten Sie den apache2-Service, und lassen Sie den Status ausgeben |
| # systemd(1)
| | systemctl start apache2 && systemctl status apache2 apache2.service - The Apache Webserver |
| # systemd-journald.service(8)
| | Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled) |
| # systemctl(1)
| | Active: active (running) since Tue 2014-06-03 11:26:24 CEST; 4ms ago |
| # coredumpctl(1)
| | Process: 11026 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND |
| # systemd.journal-fields(7)
| | -k graceful-stop (code=exited, status=1/FAILURE) |
| # journald.conf(5)
| | Main PID: 11263 (httpd2-prefork) |
| # systemd.time(7)
| | Status: "Processing requests..." |
| # systemd-journal-remote.service(8)
| | CGroup: /system.slice/apache2.service |
| # systemd-journal-upload.service(8)
| | ├─11263 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
| | ├─11280 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
| | ├─11281 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
| | ├─11282 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
| | ├─11283 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
| | └─11285 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...] |
|
| |
|
| = ANMERKUNGEN = | | == Anhang == |
| 1. Journal-Exportformat
| | === Siehe auch === |
| https://www.freedesktop.org/wiki/Software/systemd/export
| | <div style="column-count:2"> |
| | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> |
| | </div> |
| | ---- |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} |
|
| |
|
| 2. Journal-JSON-Format
| | === Dokumentation === |
| https://www.freedesktop.org/wiki/Software/systemd/json
| | ; Man-Page |
| | # [https://manpages.debian.org/trixie/manpages-de/journalctl.1.de.html journalctl(1)] |
| | <!-- |
| | ; Info-Pages |
| | --> |
|
| |
|
| 3. Server-gesandte Ereignisse
| | === Links === |
| https://developer.mozilla.org/de/docs/Web/API/Server-sent_events/Using_server-sent_events
| | ==== Projekt ==== |
| | ==== Weblinks ==== |
| | # https://documentation.suse.com/de-de/sles/12-SP5/html/SLES-all/cha-journalctl.html |
|
| |
|
| 4. JavaScript-Objektnotation (JSON) Textsequenzen
| | {{DEFAULTSORT:journalctl}} |
| https://tools.ietf.org/html/rfc7464
| | {{DISPLAYTITLE:journalctl}} |
|
| |
|
| 5. Entwicklerdokumentation für den Nachrichtenkatalog
| | [[Kategorie:Systemd]] |
| https://www.freedesktop.org/wiki/Software/systemd/catalog
| | [[Kategorie:Journald]] |
| | </noinclude> |
journalctl - Abfragen des Systemd-Journals
Beschreibung
journalctl dient der Abfrage von Inhalten des Journals von Systemd wie von Journald geschrieben
- 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
- Der Dienst 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
[...]
Installation
Aufruf
Optionen
Häufig verwendete, nützliche Optionen, mit denen Sie das Standardverhalten von journalctl optimieren
- Alle Schalter sind auf der man-Seite zu
journalctl (man 1 journalctl) beschrieben
| Option |
Beschreibung
|
| -f |
Zeigt lediglich die jüngsten Protokollmeldungen an und gibt neue Protokolleinträge aus, sobald sie zum Journal hinzugefügt werden
|
| -e |
Gibt die Meldungen aus und springt an das Ende des Journals, sodass im Pager die aktuellen Einträge sichtbar sind
|
| -r |
Gibt die Meldungen des Journals in umgekehrter Reihenfolge aus (die jüngsten Einträge zuerst)
|
| -k |
Zeigt nur Kernel-Meldungen an
|
| -u |
Zeigt nur Meldungen für die angegebene systemd-Einheit an
- Dies entspricht der Feldzuordnung
_SYSTEMD_UNIT=UNIT
# journalctl -u apache2
[...] Jun 03 10:07:11 pinkiepie systemd[1]: Starting The Apache Webserver.
Jun 03 10:07:12 pinkiepie systemd[1]: Started The Apache Webserver
|
- Tipp
- Meldungen für eine bestimmte ausführbare Datei
Sollen alle Journaleinträge für eine bestimmte ausführbare Datei angezeigt werden, geben Sie den vollständigen Pfad zu dieser Datei an
journalctl /usr/lib/systemd/systemd
Parameter
Umgebungsvariablen
Exit-Status
| Wert |
Beschreibung
|
| 0 |
Erfolg
|
| >0 |
Fehler
|
Anwendung
Rufen Sie beispielsweise journalctl ohne weitere Parameter auf, bekommen Sie einen interaktiven Auszug aller Log-Dateien, so wie sie früher in /var/log/syslog oder /var/log/messages
landeten
- Hier können Sie auch durch Eingabe eines großen »F« in den Follow-Modus wechseln
- Mit dem Parameter -f oder --follow wird Ihnen das Log analog zu einem tail -f angezeigt
- Wenn Sie die letzten 20 Log-Einträge anschauen wollen, benutzen Sie -n 20 oder --lines=20
- Der Parameter --reverse zeigt die Einträge in umgekehrter Reihenfolge an
Einträge eines bestimmten Zeitraums grenzen Sie durch --since und --until ein
- Dabei wird ein Datum in der Form "2018-07-30 18:17:16" ausgewertet
- Ohne Datum wird der heutige Tag angenommen, ohne Sekunden wird 0 (null) angenommen, Sonderausdrücke wie yesterday, today, tomorrow oder now sind möglich
Einer der wichtigsten Parameter ist -u oder --unit=, womit nur die Log-Dateien einer einzelnen Unit oder eines Satzes an Units ausgegeben werden
- Log-Auszug des SSH-Daemons
Log-Einträge des SSH-Daemons vom 5. Juni 2023 zwischen 13:00 Uhr und 14:00 Uhr
sudo journalctl --since="2023-06-05 13:00" --until="2023-06-05 14:00" --unit=sshd.service
-- Logs begin at Mo 2023-06-05 07:19:24 CEST, end at Mo 2023-06-05 15:56:51 CEST. --
Jun 05 13:07:24 centos sshd[13128]: reverse mapping checking getaddrinfo for \
1-2-3-4.a.b [1.2.3.4] failed - POSSIBLE BREAK-IN ATTEMPT!
Jun 05 13:07:24 centos sshd[13130]: reverse mapping checking getaddrinfo for \
1-2-3-4.a.b [1.2.3.4] failed - POSSIBLE BREAK-IN ATTEMPT!
Jun 05 13:07:24 centos sshd[13128]: Connection closed by 1.2.3.4 [preauth]
Jun 05 13:07:24 centos sshd[13130]: Connection closed by 1.2.3.4 [preauth]
Die Logs von journald werden nach einem Neustart gelöscht
- Wenn Sie das nicht wollen, sollten Sie das Verzeichnis /var/log/journal anlegen und das Signal SIGUSR1 an den journald-Prozess senden
- Damit werden die Logs in dem angegebenen Verzeichnis persistiert, sodass sie maximal zehn Prozent der Größe des Dateisystems belegen
- Weitere Konfigurationen nehmen Sie in der Datei /etc/systemd/journald.conf vor
Filtern der Journalausgabe
Wenn Sie journalctl ohne Schalter aufrufen, wird der gesamte Inhalt des Journals angezeigt (die ältesten Einträge an erster Stelle)
- Die Ausgabe kann mit bestimmten Schaltern und Feldern gefiltert werden
Filtern nach Bootnummer
journalctl kann die Meldungen nach einem bestimmten System-Bootvorgang filtern
- Zum Anzeigen einer Liste mit allen verfügbaren Bootvorgängen führen Sie Folgendes aus
journalctl --list-boots -1
0 97ed2cd99124a2391d2cffab1b566f0 Mon 2014-05-26 08:36:56 EDT—Fri 2014-05-30 05:33:44 EDT
1 56019a44a774a0bb0148a92df4af81b Fri 2014-05-30 05:34:09 EDT—Fri 2014-05-30 06:15:01 EDT
- Die erste Spalte enthält den Boot-Offset:
0 für den aktuellen Bootvorgang, -1 für den vorangegangenen Bootvorgang, -2 für den davor erfolgten Bootvorgang usw
- Die zweite Spalte zeigt die Boot-ID, gefolgt von den Zeitstempeln für Beginn und Ende des Zeitraums, über den das System nach dem Bootvorgang aktiv war
- Alle Meldungen für den aktuellen Bootvorgang anzeigen
journalctl -b
Wenn Sie die Journalmeldungen für den vorangegangenen Bootvorgang abrufen möchten, hängen Sie einen Offset-Parameter an
Im folgenden Beispiel werden die Meldungen für den vorangegangenen Bootvorgang ausgegeben
journalctl -b -1
Alternativ können Sie die Bootmeldungen nach der Boot-ID auflisten
Verwenden Sie hierzu das Feld _BOOT_ID
journalctl _BOOT_ID=156019a44a774a0bb0148a92df4af81b
Filtern nach Zeitraum
Sie können die Ausgabe von journalctl durch Angabe des Start- oder Enddatums filtern
- Für Datumsangaben gilt das Format „2014-06-30 9:17:16“
- Wenn Sie keine Uhrzeit angeben, wird Mitternacht (0:00 Uhr) angenommen
- Wenn die Sekundenangabe fehlt, wird „:00“ angenommen
- Wenn Sie kein Datum angeben, wird das aktuelle Datum angenommen
- Statt eines numerischen Ausdrucks können Sie die Schlüsselwörter „gestern“, „heute“ oder „morgen“ angeben
- Diese Wörter bezeichnen Mitternacht am Tag vor dem aktuellen Tag, am aktuellen Tag bzw
- am Tag nach dem aktuellen Tag
- Das Schlüsselwort „now“ (jetzt) verweist auf die aktuelle Uhrzeit am heutigen Tag
- Auch relative Zeitangaben mit dem Präfix
- oder + sind möglich
- Diese Zeitangaben verweisen dann entsprechend auf eine Uhrzeit vor oder nach der aktuellen Uhrzeit
Nur neue Meldungen ab jetzt anzeigen und Ausgabe entsprechend aktualisieren
journalctl --since "now" -f
Alle Meldungen ab der letzten Mitternacht bis 3:20 Uhr anzeigen
journalctl --since "today" --until "3:20"
Filtern nach Feldern
Sie können die Ausgabe des Journals nach bestimmten Feldern filtern
- Die Syntax für ein abzugleichendes Feld lautet
FELDNAME=FILTERKRITERIUM, beispielsweise _SYSTEMD_UNIT=httpd.service
- Wenn Sie mehrere Filterkriterien in einer einzigen Abfrage angeben, werden die Ausgabemeldungen noch stärker gefiltert
- Eine Liste der Standardfelder finden Sie auf der man-Seite
man 7 systemd.journal-fields
- Meldungen anzeigen, die von einer bestimmten Prozess-ID erzeugt wurden
journalctl _PID=1039
- Meldungen anzeigen, die zu einer bestimmten Benutzer-ID gehören
journalctl _UID=1000
- Meldungen aus dem Kernel-Ring-Puffer anzeigen (entspricht der Ausgabe von
dmesg)
journalctl _TRANSPORT=kernel
- Meldungen aus der Standard- oder Fehlerausgabe des Services anzeigen
journalctl _TRANSPORT=stdout
- Nur Meldungen anzeigen, die von einem bestimmten Service erzeugt wurden
journalctl _SYSTEMD_UNIT=avahi-daemon.service
- Wenn Sie zwei verschiedene Felder angeben, werden nur solche Einträge zurückgegeben, die beide Ausdrücke gleichzeitig erfüllen
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=1488
- Wenn Sie zwei Kriterien für dasselbe Feld angeben, werden alle Einträge zurückgegeben, die einen dieser Ausdrücke erfüllen
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
- Mit dem Begrenzungszeichen „+“ verbinden Sie zwei Ausdrücke mit einem logischen „OR“
- Im folgenden Beispiel werden alle Meldungen aus dem Avahi-Service mit der Prozess-ID 1480 zusammen mit allen Meldungen vom D-Bus-Service gezeigt
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=1480 + _SYSTEMD_UNIT=dbus.service
Filtern nach Kritikalität
Sie können journalctl nach Kritikalität filtern, indem Sie die Option -p mit einer Prioritätsstufe verwenden, wie z. B. err für Fehler, crit für kritisch oder alert für Alarm. Diese Option zeigt nur Einträge mit der angegebenen Priorität oder höher an. Die Prioritäten reichen von 0: emerg bis 7: debug, wobei niedrigere Nummern eine höhere Kritikalität bedeuten.
- Fehler und höher anzeigen
journalctl -p err
- Nur kritische Nachrichten anzeigen (und höher)
journalctl -p crit
- Alle Meldungen ab „error“ im aktuellen Boot-Vorgang anzeigen
journalctl -p err -b
- Prioritätsstufen (von kritisch zu unwichtig)
emerg (0: Notfall)
alert (1: Alarm)
crit (2: kritisch)
err (3: Fehler)
warning (4: Warnung)
notice (5: Hinweis)
info (6: Information)
debug (7: Fehlersuche)
Untersuchen von Fehlern
In diesem Abschnitt wird an einem einfachen Beispiel erläutert, wie Sie die Fehler auffinden und beheben, die systemd beim Starten von apache2 meldet
Versuchen Sie, den apache2-Service zu starten
systemctl start apache2
Job for apache2.service failed
See 'systemctl status apache2' and 'journalctl -xn' for details
Prüfen Sie den Status dieses Service
systemctl status apache2 apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled)
Active: failed (Result: exit-code) since Tue 2014-06-03 11:08:13 CEST; 7min ago
Process: 11026 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND \
-k graceful-stop (code=exited, status=1/FAILURE)* Die ID des Prozesses, der den Fehler verursacht, lautet 11026
Rufen Sie die ausführliche Version der Meldungen zur Prozess-ID 11026 ab
journalctl -o verbose _PID=11026
[...] MESSAGE=AH00526: Syntax error on line 6 of /etc/apache2/default-server.conf
[...] MESSAGE=Invalid command 'DocumenttRoot', perhaps misspelled or defined by a module [...]
Korrigieren Sie den Schreibfehler in /etc/apache2/default-server.conf, starten Sie den apache2-Service, und lassen Sie den Status ausgeben
systemctl start apache2 && systemctl status apache2 apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled)
Active: active (running) since Tue 2014-06-03 11:26:24 CEST; 4ms ago
Process: 11026 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND
-k graceful-stop (code=exited, status=1/FAILURE)
Main PID: 11263 (httpd2-prefork)
Status: "Processing requests..."
CGroup: /system.slice/apache2.service
├─11263 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
├─11280 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
├─11281 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
├─11282 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
├─11283 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
└─11285 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D [...]
Anhang
Siehe auch
Dokumentation
- Man-Page
- journalctl(1)
Links
Projekt
Weblinks
- https://documentation.suse.com/de-de/sles/12-SP5/html/SLES-all/cha-journalctl.html