GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Anfängerleitfaden für „journalctl“ – So verwenden Sie Journalctl zum Anzeigen und Bearbeiten von Systemd-Protokollen

Verwendung des Systemjournals

Standardmäßig verwenden neuere systemd-basierte Linux-Systeme jetzt zwei Protokollierungsdienste für die Systemprotokolle:

  • systemd-journald , die so konfiguriert ist, dass Protokolle nur im Arbeitsspeicher aufbewahrt werden
  • rsyslogd , das von systemd-journald (und anderen) gesendete Nachrichten erhält und auf der Festplatte speichert.

Um Nachrichten im Systemjournal anzuzeigen, ein Tool namens journalctl kann verwendet werden. Wenn es ohne Parameter verwendet wird, zeigt es den vollständigen Inhalt des Systemjournals, dargestellt in einem Pager (standardmäßig weniger wird genutzt). Die Ausgabe von journalctl kann mit Optionen und Filtern modifiziert werden. Optionen können verwendet werden, um die Anzahl der angezeigten Zeilen zu ändern, den Folgemodus einzuschalten, das angezeigte Feld zu ändern, einen Zeitbereich anzugeben usw. Filter können verwendet werden, um zu ändern, für welche Dienste und Einheiten Informationen angezeigt werden, welche ausführbaren Dateien Informationen anzeigen für usw.

journalctl-Beispiele

journalctl -ef

Zum Ende des Tagebuchs springen (-e , und aktivieren Sie den Folgemodus (-f ). Dadurch bleibt das Tagebuch auf dem Bildschirm geöffnet und zeigt neue Nachrichten an, sobald sie eingehen.

# journalctl -ef

journalctl_SYSTEMD_UNIT=sshd.service

Dadurch werden alle vom sshd.service generierten Nachrichten angezeigt systemd-Einheit.

# journalctl _SYSTEMD_UNIT=sshd.service

journalctl -u sshd.service

Dadurch werden alle Nachrichten angezeigt, die von und über die systemd-Unit sshd.service generiert wurden.

# journalctl -u sshd.service

journalctl -p emerg..err

Zeigt alle Meldungen im Journal mit einer Priorität im Bereich emerg bis einschließlich err.

# journalctl -p emerg..err

Wenn eine einzelne Priorität angegeben ist, zum Beispiel -p err , werden alle Nachrichten bis einschließlich dieser Ebene angezeigt.

# journalctl -p err

journalctl -b -1

Nur Meldungen vom letzten Systemstart anzeigen. Dies ist nützlich, um nach Informationen über einen Systemabsturz zu suchen. Dazu muss ein persistentes Journal konfiguriert werden.

# journalctl -b -1

journalctl – seit „2015-02-02 20:30:00“ – bis „2015-03-31 12:00:00“

Zeigt alle Nachrichten zwischen dem 2. Februar, halb neun Uhr abends und dem Mittag des 31. März an. Dazu muss ein persistentes Journal konfiguriert werden.

# journalctl --since "2015-02-02 20:30:00" --until "2015-03-31 12:00:00"

journalctl -o verbose

Verwenden Sie den ausführlichen Ausgabemodus (-o verbose ). Dadurch werden alle im Journal gespeicherten Felder mit ihrem Feldnamen und Inhalt angezeigt. Alle Feldnamen können als Filter in der journalctl-Befehlszeile verwendet werden.

# journalctl -o verbose

Eine vollständige Liste der Optionen und Filter finden Sie auf der Handbuchseite von journalctl(1).

# man journalctl

Das Tagebuch beibehalten

Standardmäßig speichert CentOS/RHEL 7 das Systemjournal unter /run/log/journal , die auf einem tmpfs gespeichert ist . Dies bedeutet, dass bei einem Neustart alle gespeicherten Informationen verloren gehen. Wenn das Verzeichnis /var/log/journal vorhanden ist, wird das Journal dort gespeichert, wodurch ein persistentes Journal über Neustarts hinweg ermöglicht wird.

Das Aktivieren eines persistenten Journals kann mit den folgenden Schritten erfolgen:

1. Erstellen Sie das Verzeichnis /var/log/journal .

# mkdir /var/log/journal

2. Legen Sie den Gruppenbesitz des neuen Verzeichnisses auf systemd-journal fest , und die Berechtigungen auf 2755 .

# chown root:systemd-journal /var/log/journal
# chmod 2755 /var/log/journal

3. Informieren Sie systemd-journald, dass der neue Standort verwendet werden soll, indem Sie ein USR1 senden Signal dazu. Ein Neustart reicht auch aus.

# killall -USR1 systemd-journald

Ausführliche Informationen aktivieren

Viele Tools und Dienste können den Umfang der von ihnen durchgeführten Protokollierung sowie die Menge der angezeigten Informationen erhöhen, wenn sie von der Befehlszeile aus ausgeführt werden, indem sie verschiedene Konfigurationsoptionen oder Befehlszeilen-Flags verwenden.

Befehlszeilenoptionen enthalten normalerweise -v, das manchmal mehrmals angegeben werden kann, um die Ausführlichkeit zu erhöhen, oder enthalten eine Option –debug, die verwendet werden kann. Dienste verfügen normalerweise über Konfigurationsoptionen, entweder in ihrer Hauptkonfigurationsdatei oder in /etc/sysconfig/SERVICENAME , die auch verwendet werden können, um ihre Protokollierungsstufe und/oder Ausführlichkeit zu erhöhen. Schlagen Sie in der Dokumentation für diese einzelnen Dienste nach, um deren Ausführlichkeit und Protokollierungsebenen zu erhöhen.

Hinweis Hinweis:Wenn Sie die Debug-Option für einen Dienst in /etc/sysconfig/SERVICENAME verwenden, wird diese Option manchmal auch den Daemon daran hindern, die Verbindung zum Terminal zu trennen. Wenn ein solcher Dienst mit systemctl gestartet wird und der Diensttyp auf Forking eingestellt ist, kehrt der Befehl systemctl erst zurück, wenn der Dienst durch Drücken von Strg+C beendet wird. In diesen Fällen kann es auch eine Option sein, einen Dienst manuell über die Befehlszeile auszuführen.


Cent OS
  1. So installieren und verwenden Sie PHP Composer unter CentOS 7

  2. So aktivieren und verwenden Sie firewalld unter CentOS 7

  3. Wie lösche ich Journalctl?

  4. So verwenden Sie journalctl zum Analysieren von Protokollen in Linux

  5. CentOS / RHEL 7:Anfängerleitfaden für systemd

So installieren und verwenden Sie Traceroute unter CentOS 7

So installieren und verwenden Sie Curl auf Linux-Distributionen:Ein Leitfaden für Anfänger

So löschen Sie Systemd-Journalprotokolle

So verwenden Sie journalctl zum Anzeigen und Bearbeiten von Systemd-Protokollen

Journalctl:So lesen und bearbeiten Sie Systemd-Protokolle

So installieren und verwenden Sie FFmpeg unter Linux-Distributionen | Ratgeber für Anfänger