Der Systemprotokoll-Daemon ist für die Protokollierung der von Anwendungen oder Kernel generierten Systemmeldungen verantwortlich. Der Systemprotokoll-Daemon unterstützt auch die Remote-Protokollierung. Die Meldungen werden nach Anlage und Priorität unterschieden. Im Prinzip sind die von Syslog verwalteten Protokolle im Verzeichnis /var/log/ auf Linux-Systemen verfügbar:
# ls /var/log acpid cron.1 maillog.3 rpmpkgs.3 spooler.3 anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4 anaconda.syslog cron.3 messages sa squid anaconda.xlog cron.4 messages.1 samba tallylog audit cups messages.2 scrollkeeper.log vbox boot.log dmesg messages.3 secure wtmp boot.log.1 faillog messages.4 secure.1 Xorg.0.log boot.log.2 gdm oracle-validated secure.2 Xorg.0.log.old boot.log.3 httpd pm secure.3 YaST2 boot.log.4 lastlog ppp secure.4 yum.log btmp mail prelink setroubleshoot conman maillog rpmpkgs spooler conman.old maillog.1 rpmpkgs.1 spooler.1 cron maillog.2 rpmpkgs.2 spooler.2
wo einige der Protokolle in einem Unterverzeichnis wie cups, samba, httpd abgelegt werden. Unter den Protokollen unter /var/log ist /var/log/messages das häufigste, da dort die Kernel- / Core-Systemprotokolle gespeichert werden. Die Kernel-Module werden im Allgemeinen auch dort abgelegt. Für die Problemdiagnose / Überwachung ist /var/log/messages also die primäre Protokolldatei, die untersucht werden muss.
Der Systemprotokoll-Daemon/-Dienst und seine Konfigurationsdatei unterscheiden sich je nach verwendeter Linux-Version, z. B.:
RHEL 5: syslogd - /etc/syslog.conf RHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog ist der neue Logging-Daemon, der RHEL6 startet, um mit dem alten syslog-ng-Daemon zu konkurrieren. Einige der Vorteile, die der rsyslog-Daemon gegenüber syslog-ng bietet, sind:
1. Zuverlässige Vernetzung
– Rsyslog verwendet TCP anstelle von UDP, was zuverlässiger ist. TCP verwendet die Bestätigungs- und Neuübertragungsfunktionen.
– Mit dem Rsyslog-Daemon können Sie mehrere Zielhosts/-dateien für die Nachrichtenübermittlung angeben, wenn rsyslogd eine Nachricht nicht an ein bestimmtes Ziel zustellen kann.
2. Präzision
– Es ist möglich, Nachrichten nach jedem Teil der Protokollnachricht zu filtern, anstatt nach der Priorität der Nachricht und der ursprünglichen Einrichtung.
– Unterstützung für präzise Zeitstempel zum Protokollieren von Nachrichten, die der Syslog-Daemon.
3. Weitere Funktionen
– TLS-Verschlüsselung
– Möglichkeit, sich bei SQL-Datenbanken anzumelden.
rsyslog.conf
Die Konfigurationsdatei – /etc/rsyslog.conf denn der rsyslogd-Daemon wird verwendet, um alle Nachrichten zu verarbeiten. Die Konfigurationsdatei stellt grundsätzlich Regelanweisungen bereit, die wiederum 2 Dinge bereitstellen:
1. Selektoren– welche Nachrichten abgeglichen werden sollen.
– Selektor besteht aus einer Einrichtung und einer Priorität, die durch einen Punkt (.) getrennt sind (z. B. mail.info)
2. Aktionen
– was mit übereinstimmenden Nachrichten zu tun ist
– normalerweise ein Ziel, um die Nachricht zu protokollieren (Datei auf einem lokalen Computer oder einem Remote-Host)
Selektoren und Aktionen
Selektoren bestehen aus 2 Dingen Einrichtungen und Prioritäten. Sie geben an, welche Nachrichten abgeglichen werden sollen. Das Aktionsfeld gibt an, welche Aktion auf die abgeglichene Nachricht anzuwenden ist. Zum Beispiel:
kern.debug /var/log/kernlog
– Die Meldungen mit Kernel- und Priority-Debug-Einrichtung werden in die Datei /var/log/kernlog protokolliert.
– Prioritätsangaben sind in Selektoren hierarchisch. Rsyslog vergleicht alle Nachrichten mit der angegebenen Priorität und höher. Daher werden alle Meldungen vom Kernel mit Priorität debug und höher protokolliert. Da Debuggen die niedrigste Priorität hat, werden alle Nachrichten mit Facility-Kern abgeglichen.
– Eine andere Möglichkeit, dies zu tun, ist die Verwendung des Sternchens (*). Zum Beispiel:
kern.* /var/log/kernlog
– Mehrere Selektoren können in einer einzelnen Zeile, getrennt durch Semikolons, angegeben werden. Dies ist nützlich, wenn dieselbe Aktion auf mehrere Nachrichten angewendet werden muss.
– Wenn eine Datei im Aktionsfeld aufgeführt ist, werden die übereinstimmenden Nachrichten in die Datei geschrieben.
– Es kann andere Geräte wie FIFO geben , Terminal usw., um die Nachrichten zu schreiben.
– Wenn ein Benutzername im Aktionsfeld aufgeführt ist, werden die übereinstimmenden Nachrichten an die Benutzer aller Terminals gedruckt, wenn sie angemeldet sind.
– (*) in der Aktionsfeld gibt
Einrichtungen
Die Anlage wird verwendet, um anzugeben, welche Art von Programm oder Anwendung die Nachricht generiert. Dadurch kann der Syslog-Daemon verschiedene Quellen unterschiedlich handhaben. Die folgende Tabelle listet die Standardeinrichtungen und ihre Beschreibung auf:
Einrichtung | Beschreibung |
---|---|
auth/authpriv | Sicherheits-/Autorisierungsnachrichten (privat) |
cron | Uhr-Daemon (crond- und atd-Nachrichten) |
Daemon | Nachrichten von System-Daemons ohne separate Einrichtung |
kern | Kernel-Meldungen |
local0 – local7 | für den lokalen Gebrauch reserviert |
lpr | Zeilendrucker-Subsystem |
Nachrichten von Mail-Daemons | |
Neuigkeiten | USENET-News-Subsystem |
syslog | Meldungen, die intern vom Systemprotokoll-Daemon generiert werden |
Benutzer | allgemeine Nachrichten auf Benutzerebene |
uucp | UUCP-Subsystem |
Priorität
Die Priorität einer Nachricht zeigt die Wichtigkeit dieser Nachricht an. Die folgende Tabelle listet die Standardprioritäten und ihre Bedeutung auf:
Priorität | Beschreibung |
---|---|
auftauchen | System ist unbrauchbar |
Warnung | Müssen sofort Maßnahmen ergriffen werden |
kritisch | kritische Bedingungen |
irr | Fehlerbedingungen |
Warnung | Warnbedingungen |
Hinweis | normale, aber signifikante Bedeutung |
Informationen | Informationsmeldungen |
debuggen | Debugging-Meldungen |
Protokollrotation
Protokolldateien wachsen regelmäßig im Laufe der Zeit und müssen daher regelmäßig gekürzt werden. Linux stellt ein Dienstprogramm bereit, um diese Funktionalität ohne Benutzereingriff bereitzustellen. Das logrotate Programm kann verwendet werden, um die Protokolldateirotation zu automatisieren. Die grundlegende Logrotate-Konfiguration erfolgt in der Konfigurationsdatei /etc/logrotate.conf . In der Konfigurationsdatei können wir Optionen festlegen, wie z. B. – wie oft Protokolle rotiert werden sollen und wie viele alte Protokolle aufbewahrt werden sollen.
# cat /etc/logrotate.conf weekly rotate 4 create include /etc/logrotate.d /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
Gemäß der obigen logrotate-Konfigurationsdatei werden die Protokolle jede Woche rotiert (Umbenennung des vorhandenen Protokolls in Dateiname.Nummernreihenfolge):
Mindestgröße 1M – logrotate führt die Nachrichtendateien aus und kürzt sie, wenn die Dateigröße gleich oder größer als 1 MB ist.
rotate 4 – die letzten 4 Dateien beim Rotieren behalten.
erstellen – Erstellen Sie eine neue Datei, während Sie mit der angegebenen Berechtigung und dem angegebenen Besitz rotieren.
Einschließen – Fügen Sie die hier erwähnten Dateien für die Daemon-spezifischen Protokollrotationseinstellungen hinzu.
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– Der Logrotate-Daemon liest hauptsächlich die gesamte Konfiguration aus der Datei /etc/logrotate.conf und fügt dann Daemon-spezifische Konfigurationsdateien aus /etc/logrotate.d/ hinzu Verzeichnis.
– Der Logrotate-Daemon ermöglicht zusammen mit der Rotation und Entfernung alter Protokolle die Komprimierung von Protokolldateien.
– Der Daemon läuft täglich von /etc/cron.daily/logrotate.
Logwatch
– RHEL-Systeme werden auch mit Logwatch-Paketen ausgeliefert.
– Logwatch wird verwendet, um die Protokolle zu analysieren, um interessante Nachrichten zu identifizieren.
– Logwatch kann so konfiguriert werden, dass es Protokolldateien von beliebten Diensten analysiert und die Ergebnisse per E-Mail an den Administrator sendet.
– Es kann auf stündlicher oder nächtlicher Basis für verdächtige Aktivitäten konfiguriert werden. Standardmäßig wird es in einem RHEL-System jede Nacht ausgeführt und der Bericht wird an den Root-Benutzer gesendet.