Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Studieren Sie den Inhalt jedes Felds in Linux-Protokolldateien

Studieren Sie den Inhalt jedes Felds in Linux-Protokolldateien

WBOY
WBOYOriginal
2024-02-27 08:15:06472Durchsuche

Studieren Sie den Inhalt jedes Felds in Linux-Protokolldateien

Linux verfügt als weit verbreitetes Betriebssystem über ein leistungsstarkes Protokollsystem zur Aufzeichnung wichtiger Informationen während des Systembetriebs. Protokolldateien werden normalerweise im Verzeichnis /var/log gespeichert, das verschiedene Arten von Protokolldateien enthält, z. B. Systemprotokolle, Sicherheitsprotokolle usw. In diesem Artikel wird der Inhalt jeder Spalte in einer Linux-Protokolldatei eingehend untersucht und die Bedeutung jeder Spalte anhand spezifischer Codebeispiele erläutert.

1. Syslog-Protokolldatei

Syslog ist eines der gebräuchlichsten Protokollierungssysteme unter Linux und zeichnet verschiedene Betriebsinformationen des Systems auf. Syslog-Protokolldateien werden normalerweise im Verzeichnis /var/log gespeichert, am gebräuchlichsten ist die Syslog-Datei. Das Folgende ist ein Beispielinhalt einer Syslog-Protokolldatei:

Mar 10 08:30:45 localhost cron[1234]: (root) CMD (run-parts /etc/cron.daily)
Mar 10 10:15:20 localhost sshd[5678]: Failed password for user1 from 192.168.1.100 port 22
Mar 11 14:55:30 localhost kernel: Out of memory: Kill process 4321 (apache2) score 500 or sacrifice child

Im obigen Beispiel enthält jede Zeile des Protokollinhalts normalerweise die folgenden Spalten:

  • Datum und Uhrzeit: Zeichnet die spezifische Zeit auf, zu der das Protokollereignis aufgetreten ist Format von Monat, Tag und Stunde :Minuten:Sekunden.
  • Hostname: Identifiziert den Hostnamen, auf dem sich das Protokollereignis befindet, normalerweise localhost.
  • Anwendungsname: Gibt den Namen der Anwendung an, die Protokolle generiert, z. B. Cron, SSHD, Kernel usw.
  • Prozess-ID: Notieren Sie die Prozess-ID, die der Anwendung entspricht, die das Protokoll erstellt hat.
  • Protokollinhalt: Spezifische Protokollinformationen, z. B. fehlgeschlagene Anmeldeversuche, unzureichender Speicher usw.

2. auth.log-Protokolldatei

Die auth.log-Protokolldatei zeichnet die Authentifizierungs- und Autorisierungsinformationen des Systems auf und kann zur Nachverfolgung von Benutzeranmeldungen und Berechtigungsänderungen verwendet werden. Das Folgende ist ein Beispielinhalt einer auth.log-Protokolldatei:

Mar 10 08:30:45 localhost sshd[1234]: Accepted publickey for user2 from 192.168.1.101 port 22
Mar 10 10:15:20 localhost sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bash
Mar 11 14:55:30 localhost su: pam_unix(su:session): session opened for user2 by user1(uid=0)

In der auth.log-Protokolldatei enthält jede Zeile des Protokollinhalts normalerweise die folgenden Spalten:

  • Datum und Uhrzeit: Zeichnet die spezifische Zeit auf, zu der das Protokoll erstellt wurde Ereignis eingetreten ist.
  • Hostname: Identifiziert den Hostnamen, auf dem sich das Protokollereignis befindet.
  • Anwendungsname: Gibt den Namen der Anwendung an, die Protokolle generiert, z. B. sshd, sudo, su usw.
  • Prozess-ID: Notieren Sie die Prozess-ID, die der Anwendung entspricht, die das Protokoll erstellt hat.
  • Protokollinhalt: Spezifische Authentifizierungs- und Autorisierungsinformationen, z. B. Anmeldung mit öffentlichem Schlüssel, Verwendung von sudo zum Wechseln von Benutzern usw.

3. Kernel-Protokolldatei

Die Kernel-Protokolldatei zeichnet die Betriebsinformationen des Linux-Kernels auf und kann zur Diagnose von Systemhardware- und -softwareproblemen verwendet werden. Im Allgemeinen lautet der Pfad der Kernel-Protokolldatei /var/log/kern.log. Das Folgende ist ein Beispielinhalt einer Kernel-Protokolldatei:

Mar 10 08:30:45 localhost kernel: [ 123.456789] eth0: link up (1000Mbps/Full duplex)
Mar 10 10:15:20 localhost kernel: [ 234.567890] CPU0: Core temperature above threshold, cpu clock throttled (total events = 1)
Mar 11 14:55:30 localhost kernel: [ 345.678901] Out of memory: Kill process 4321 (apache2) score 500 or sacrifice child

In der Kernel-Protokolldatei enthält jede Zeile des Protokollinhalts normalerweise die folgenden Spalten:

  • Datum und Uhrzeit: Zeichnet den spezifischen Zeitpunkt auf, zu dem das Protokollereignis aufgetreten ist.
  • Hostname: Identifiziert den Hostnamen, auf dem sich das Protokollereignis befindet.
  • Kernel-Meldungen: Vom Kernel aufgezeichnete spezifische Informationen, z. B. Netzwerkkartenstatus, Temperaturalarme, unzureichender Speicher usw.

4. Praktisches Betriebsbeispiel

Das Folgende ist ein Beispielcode zum Filtern bestimmter Protokolle in auth.log über den grep-Befehl:

grep "Accepted publickey" /var/log/auth.log

Das obige Beispiel gibt den Protokollinhalt aus, der „Accepted publickey“ in auth.log enthält. Dies ist praktisch für Benutzer. Zeigen Sie spezifische Anmeldeinformationen für öffentliche Schlüssel an.

Durch die Einführung und den Beispielcode dieses Artikels können Leser die Bedeutung jeder Spalte in der Linux-Protokolldatei besser verstehen und erfahren, wie Protokolldateien mithilfe von Befehlszeilentools verarbeitet und gefiltert werden. Systemadministratoren können diese Informationen nutzen, um den Betriebsstatus des Systems zu überwachen, Probleme rechtzeitig zu erkennen und zu lösen sowie die Stabilität und Sicherheit des Systems zu gewährleisten.

Das obige ist der detaillierte Inhalt vonStudieren Sie den Inhalt jedes Felds in Linux-Protokolldateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn