Interpretation von syslogd- und syslog.conf-Dateien unter Linux

Interpretation von syslogd- und syslog.conf-Dateien unter Linux

1: Einführung in syslog.conf

Für verschiedene Unix-Typen sind die Einstellungen des Standard-UnixLog-Systems bis auf einige unterschiedliche Schlüsselwörter eigentlich gleich. Das syslog.conf-Format des Systems ist dasselbe. Syslog verwendet ein konfigurierbares, einheitliches Systemregistrierungsprogramm, um jederzeit Protokollanforderungen von überall im System anzunehmen und die Protokollinformationen dann gemäß den voreingestellten Einstellungen in /etc/syslog.conf in die entsprechende Datei zu schreiben, sie per E-Mail an einen bestimmten Benutzer zu senden oder sie direkt als Nachricht an die Konsole zu senden. Um zu verhindern, dass Eindringlinge die aufgezeichneten Informationen in Nachrichten ändern oder löschen, ist es wichtig zu beachten, dass Sie einen Drucker zum Aufzeichnen verwenden oder andere Methoden nutzen können, um die Versuche des Eindringlings zu vereiteln.

2: Format von syslog.conf

Weitere Hinweise finden Sie in man [5] syslog.conf. Hier ist eine kurze Einführung in syslog.conf.

Ein Konfigurationsdatensatz in der Datei /etc/syslog.conf besteht aus zwei Teilen: „Option“ (Selektor) und „Action“ (Aktion), die durch ein Tabulatorzeichen getrennt sind (die Verwendung von Leerzeichen ist ungültig). „Optionen“ bestehen aus einem oder mehreren reservierten Feldern im Format „Typ.Ebene“ und jedes reservierte Feld ist durch ein Semikolon getrennt. Wie in der folgenden Zeile gezeigt:

Typ.Ebene[;Typ.Ebene] `TAB`-Aktion

2.1 Typ

Der „Typ“ im reservierten Feld gibt die Quelle der Informationen an. Diese kann sein:

Auth-Authentifizierungssystem, d. h. Abfrage von Benutzername und Passwort

Informationen, die gesendet werden, wenn das Cron-System-Timing-System geplante Aufgaben ausführt

daemon Das Syslog einiger System-Daemons, wie z.B. das von in.ftpd generierte Log

Kernel-Kernel-Syslog-Informationen

Syslog-Informationen für LPR-Drucker

Mail Mailsystem Syslog-Informationen

mark Ein Zeitstempelprogramm, das in regelmäßigen Abständen Nachrichten sendet

News Syslog-Informationen des News-Systems

Benutzer-Syslog-Informationen der lokalen Benutzeranwendung

uucp uucp-Subsystem Syslog-Informationen

local0..7 Arten von lokalen Syslog-Informationen, die vom Benutzer definiert werden können

* steht für die oben genannten Geräte

2.2 Niveau

Die „Ebene“ im reservierten Feld stellt die Wichtigkeit der Informationen dar und kann sein:

Emerg. Notfall, im Panikzustand. Sollte normalerweise an alle Benutzer gesendet werden;

Achtung, der aktuelle Status muss umgehend korrigiert werden. Beispielsweise stürzt die Systemdatenbank ab;

crit Warnung für kritischen Status. Zum Beispiel ein Hardwarefehler;

err andere Fehler;

Warnung Warnung;

Hinweis; ein Bericht über einen Zustand, der kein Fehler ist, aber speziell behandelt werden sollte;

Info, um Informationen zu informieren;

Debug-Informationen beim Debuggen des Programms;

„none“ wird normalerweise beim Debuggen eines Programms verwendet und gibt an, dass von Typen mit der Ebene „none“ generierte Informationen nicht gesendet werden müssen. Beispielsweise bedeutet *.debug;mail.none, dass während des Debuggens alle Informationen außer E-Mail gesendet werden.

2.3 Aktionen

Das Feld „Aktion“ gibt das Ziel an, an das die Informationen gesendet werden. Es kann sein:

/Dateiname Protokolldatei. Der durch den absoluten Pfad angegebene Dateiname. Diese Datei muss im Voraus erstellt werden;

@host Remote-Host; auf das @-Symbol kann eine IP-Adresse oder ein Domänenname folgen. Standardmäßig wurde dem lokalen Host in der Datei /etc/hosts der Alias ​​loghost zugewiesen.

user1,user2 geben Benutzer an. Wenn der angegebene Benutzer angemeldet ist, erhält er die Nachricht.

* Alle Benutzer. Alle angemeldeten Benutzer erhalten die Nachricht.

3: Konkrete Beispiele

Schauen wir uns ein Beispiel in der Datei /etc/syslog.conf an:

*.err;kern.debug;daemon.notice;mail.crit [TAB] /var/adm/messages

Die „Aktion“ in dieser Zeile ist die Datei /var/adm/messages, die uns oft Sorgen bereitet, und die Quelle der dort ausgegebenen Informationen, der „Selektor“, ist:

*.err – alle allgemeinen Fehlermeldungen;

kern.debug – vom Kernel generierte Debug-Informationen;

daemon.notice – Daemon-Benachrichtigungsinformationen;

mail.crit - Kritische Warnmeldungen für das Mailsystem

4: Inhalt von syslog.conf

Die Protokolldateien werden von den Systemprotokoll- und Kernelprotokoll-Daemons syslogd und klogd gesteuert, die in der Datei /etc/syslog.conf so konfiguriert sind, dass sie standardmäßig aktiv sind.

Die Protokolldateien sind wie in der Konfigurationsdatei /etc/syslog.conf beschrieben organisiert. Folgendes ist der Inhalt der Datei /etc/syslog.conf:

[root@localhost ~]# cat /etc/syslog.conf
# Alle Kernel-Meldungen in der Konsole protokollieren.
# Das Protokollieren vieler anderer Dinge führt zu Unordnung auf dem Bildschirm.
#kern.* /dev/console
# Alles (außer E-Mail) auf der Ebene „Info“ oder höher protokollieren.
# Protokollieren Sie keine privaten Authentifizierungsnachrichten!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# Der Zugriff auf die Authpriv-Datei ist eingeschränkt.
authpriv.* /var/log/sicher
# Protokollieren Sie alle E-Mail-Nachrichten an einem Ort.
mail.* - /var/log/maillog
# Cron-Sachen protokollieren
cron.* /var/log/cron
# Jeder erhält Notfallnachrichten
*.not *
# Speichern Sie Nachrichtenfehler der Stufe „Krit“ und höher in einer speziellen Datei.
uucp,news.crit /var/log/spooler
# Bootmeldungen auch in boot.log speichern
local7.* /var/log/boot.log

5. Version

Der Syslog-Mechanismus ist eine Protokollierungsmethode, die häufig in Unix-ähnlichen Systemen verwendet wird. Es kann verschiedene Arten von Protokollinformationen während des Systembetriebs in einer Kombination mehrerer Ebenen aufzeichnen. Beispielsweise das Informationsprotokoll zur Kernelausführung, das Ausgabeprotokoll der Programmausführung usw. Bei der Entwicklung für eingebettete Systeme ist das Schreiben einiger wichtiger Informationen zur Programmlaufzeit in das Protokoll für das Programm-Debugging und die Fehlerdiagnose sehr hilfreich. Zu den wichtigen Informationen zählen wichtige Variablen beim Programmablauf, Ergebnisse der Funktionsausführung, Fehleraufzeichnungen usw. Bei eingebetteten Systemen sind Debugging und Diagnose aufgrund begrenzter Systemressourcen und Cross-Development äußerst umständlich. Die Verwendung des Syslog-Mechanismus kann diese Aufgaben erheblich vereinfachen.

Nicht alle eingebetteten Systeme können Syslog verwenden. Zunächst einmal verwendet das System ein Unix-ähnliches Betriebssystem; das am häufigsten verwendete ist Linux. Zweitens muss zur Unterstützung der Remote-Protokollierung die Netzwerkkommunikation im System unterstützt werden. Glücklicherweise basieren die meisten eingebetteten Systeme derzeit auf Linux und unterstützen das Netzwerk. Die konkrete Umsetzung wird weiter unten erläutert.

Wählen Sie beim Kompilieren von Busybox die Syslog-Anwendung aus und fügen Sie Busybox zum Linux-Dateisystem hinzu. Nachdem das eingebettete System gestartet ist, können Sie den Syslog-Client konfigurieren. Je nach Busybox-Version ist die Konfiguration des Syslog-Dienstprozesses syslogd unterschiedlich. Frühere Versionen von syslogd ignorierten die Konfigurationselemente in der Datei syslog.conf und verwendeten direkt Befehlsparameter zur Konfiguration. Die neue Version von syslogd unterstützt die Konfiguration mithilfe der Datei syslog.conf. Sie können die Hilfeinformationen über syslogd –h anzeigen, um die aktuelle Syslogd-Version zu ermitteln.

Wenn die syslog.conf-Konfiguration nicht unterstützt wird, verwenden Sie Befehlsparameter direkt und geben Sie den folgenden Befehl ein, um syslogd zu starten:

syslogd -n -m 0 -L -R 192.190.1.88

Die Option -n gibt an, dass der Prozess im Vordergrund ausgeführt wird.

Die Option -m gibt das Schleifenintervall an.

Die Option -L bedeutet, dass eine lokale Protokollierung durchgeführt wird, während eine Remote-Protokollierung erfolgt. Ohne diese Option wird nur eine Remote-Protokollierung durchgeführt.

-R steht für Remote-Protokollierung, die Syslog-Protokolle an den Zielserver sendet. Hierbei wird davon ausgegangen, dass die IP-Adresse des Zielservers 192.190.1.88 ist. Wenn Sie keinen Port angeben, wird standardmäßig der UDP-Port 514 verwendet. Stellen Sie daher sicher, dass der Port auf dem Server nicht belegt ist.

Nach dem Start werden alle Protokollinformationen an den UDP-Port 514 des Servers gesendet.

Wenn die syslog.conf-Konfiguration unterstützt wird, müssen Sie nur die Konfigurationsdatei ändern. Fügen Sie der Datei die folgende Anweisung hinzu:

*.* @192.190.1.88

Die obige Konfiguration bedeutet, dass alle Syslog-Protokolle unter Verwendung des Standard-UDP-Ports an den Server 192.190.1.88 gesendet werden. Da die syslog.conf-Konfiguration relativ flexibel ist, können Sie sie so einstellen, dass einige unnötige Informationen blockiert werden, ein bestimmter Port festgelegt wird usw. Bitte beachten Sie die relevanten Befehle in syslog.conf und studieren Sie sie selbst. Starten Sie dann syslogd, um die Remote-Protokollierung durchzuführen.

Dieser Artikel zur Interpretation von syslogd- und syslog.conf-Dateien unter Linux ist alles, was ich mit Ihnen teilen möchte. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Syslog-Befehl unter Linux

<<:  So installieren Sie die MySQL-Server-Community-Version MySQL 5.7.22 winx64 in win10

>>:  Das WeChat-Applet implementiert die Aufnahmefunktion

Artikel empfehlen

Zusammenfassung der CSS-Schwebeelementanalyse

Float: links/rechts/keine; 1. Gleichstufiges Schw...

Natives JS zum Erstellen einer Drag-Fotowand

Dieser Artikel zeigt Ihnen eine verschiebbare Fot...

Installationshandbuch für VMware Workstation 15 Pro (für Anfänger)

01. VMware Workstation Pro 15 herunterladen Herun...

Wir zeigen Ihnen einen Trick, um einen Textvergleich unter Linux durchzuführen

Vorwort Während des Schreibens des Codes werden w...

18 erstaunliche Verbindungen zwischen Interaktionsdesign und Psychologie

Designer müssen Psychologie verstehen, indem sie ...

Zusammenfassung der HOC-Nutzung von React-High-Order-Komponenten

Ein Satz zur Einführung von HOC Was ist eine Komp...

Implementierung des WeChat-Applet-Nachrichten-Pushs in Nodejs

Auswählen oder Erstellen einer Abonnementnachrich...

So implementieren Sie Bildmapping mit CSS

1. Einleitung Mit Imagemaps können Sie Bereiche e...

Eine kurze Erläuterung, wann MySQL interne temporäre Tabellen verwendet

Gewerkschaftsexekution Verwenden Sie zur Vereinfa...