Bei der Verwaltung von Linux-Betriebssystemen gibt es Hunderte von Prozessen, die wir ständig überprüfen müssen, um den besten Service auf den Server- oder Client-Computern aufrechtzuerhalten. In Linux-Umgebungen finden wir Systemd, ein innovatives System, das es uns ermöglicht, während des Starts des Betriebssystems Informationen über parallele Prozesse zu sammeln.
Systemd ist in den meisten Linux-Distributionen wie Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS und anderen vorhanden. Mit Systemd haben wir die Möglichkeit, alle Dienste und Prozesse des Systems zentral zu verwalten. Für diese Analyse verwenden wir CentOS 7.
1. Konfigurieren von Journald zum Sammeln von Systemd-Protokollen
Grundsätzlich ist journald für das Sammeln und Schreiben von täglichen Betriebssystemeingaben wie Startup-Meldungen, Kernel-Meldungen, Syslog-Meldungen, Anwendungslogs und anderen verantwortlich. Alle Informationen in Journald werden im Pfad /etc/systemd/journald.conf gehostet und die dort erfassten Werte entsprechen den lokalen Systemanforderungen.
Eine einfache Möglichkeit, den Inhalt dieser Route zu visualisieren, besteht darin, die folgende Zeile mit dem Parameter cat auszuführen:
cat /etc/systemd/journald.conf
2. Journal auf Festplattenspeicher aktivieren
Die meisten Linux-Distributionen erlauben es nicht, in ihrem Bootsystem persistente Nachrichten zu speichern, um die Informationen des Bootvorgangs zu sammeln.
Um dieses Protokoll zu aktivieren, müssen Sie auf den Pfad / var / log / Journal zugreifen und dort die Speicherzeile bearbeiten. Um dort darauf zuzugreifen, verwenden wir Editoren wie nano oder vi wie folgt:
sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.confBeim Zugriff auf diese Datei sehen wir Folgendes:
Dort ändern wir die Storage-Zeile vom Wert auto auf den Wert persistent:
Änderungen speichernWir speichern die Änderungen mit den Tasten Strg + O und verlassen den Editor mit Strg + X.
Um detaillierte Informationen zu jedem der Journal-Elemente zu erhalten, können wir die folgende Zeile ausführen:
Mann journald.conf
3. Einstellen von Datum und Uhrzeit mit Timedatectl
Dieser Aspekt ist wichtig, da die Aufzeichnungen durch eine korrekte Konfiguration von Datum und Uhrzeit viel zuverlässiger und genauer sind.
Um das aktuelle Datum und die aktuelle Uhrzeit anzuzeigen, führen wir eine der folgenden Zeilen aus:
timedatectl timedatectl StatusDas Ergebnis wird folgendes sein:
Wenn Sie eine andere Zeitzone einstellen, führen wir die folgende Syntax aus:
sudo timedatectl set-timezone (Stadt / Land) sudo timedatectl set-time "HH: MM: SS"
4. Anzeigen von Nachrichten aus Protokollen mit Journalctl
Der Befehl journalctl ist ein in Linux enthaltenes Dienstprogramm, mit dem wir den Inhalt von systemd anzeigen können. Um alle Datensätze ohne Filterung anzuzeigen, führen wir die folgende Zeile aus:
journalctlDas Ergebnis wird folgendes sein:
Im Folgenden sind die Filter aufgeführt, die wir mit Journalctl verwenden können:
Boot-basierte FilterMit diesem Filter können wir unter anderem die Bootnummern, ihre ID, ihre Zeitstempel anzeigen.
Dazu verwenden wir den Parameter --list-boots:
journalctl --list-boots
Wenn wir die Datensätze des aktuellen Bootvorgangs sehen möchten, verwenden wir die folgende Zeile:
Journalctl -bUm frühere Aufzeichnungen anzuzeigen, verwenden wir die folgende Zeile:
Journalctl -b -1
Zeitbasierte FilterMit diesem Filter können wir das UTC-Format (Coordinated Universal Time - Coordinated Universal Time) mit dem Parameter -utc verwenden:
journalctl -utc
Zusätzlich können wir Filter wie folgt hinzufügen:
journalctl --since "2017-07-02 08:30:00" (Zeigt die Ergebnisse des angegebenen Datums an) journalctl --since today (Zeigt die Ergebnisse des aktuellen Tages an) journalctl --since gestern (Zeigt die Ergebnisse des aktueller Tag vorher)
Sehen Sie sich die neuesten Ereignisse anDer von Journalctl verwendete Standardwert ist 10 Datensätze, aber wenn wir den Parameter -n verwenden, können wir eine kleinere oder größere Menge angeben.
Journalctl -n 5
Vom Kernel generierte Ereignisse anzeigenUm die vom Kernel generierten Meldungen anzuzeigen, verwenden wir den Parameter -k wie folgt:
journalctl -k
Ebenso haben wir folgende Möglichkeiten:
- Ereignisse nach Einheiten anzeigen:
journalctl -u (Dienst)
- Ereignisse nach Prozessen anzeigen:
journalctl _PID = (# PID), journalctl _PID = (PID) --seit heute, journalctl _PID = (PID) --seit gestern
- Ereignisse nach Benutzer- oder Gruppen-ID anzeigen:
Journalctl_UID = 1000
- Anzeigen von Ereignissen, die von einer bestimmten Datei generiert wurden:
journalctl / usr / bin / bash
- Ereignisse nach Priorität anzeigen: journalctl -p (Code oder Begriff), die verfügbaren Optionen sind:
0 - Emerg, 1 - Alert, 2 - Crit, 3 - Err, 4 - Warning, 5 - Notice, 6 - Info, 7 - Debug
Auf diese Weise bietet Journalctl mehrere praktische Lösungen für diese Aufgabe.