GNU/Linux >> LINUX-Kenntnisse >  >> Linux

CentOS / RedHat :Einsteigerleitfaden zur Protokolldateiverwaltung

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

an rsyslog-Aktionen verstehen

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
Mail 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
Grundlegendes zu rsyslog-Filteroptionen

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.

Grundlegendes zu rsyslog-Vorlagen


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

  2. CentOS / RHEL 7:Einsteigerleitfaden für Firewalld

  3. Anfängerleitfaden zum automatischen Mounten von Dateisystemen in CentOS / RHEL

  4. Leitfaden für Anfänger zu NFS in CentOS / RHEL

  5. Was sind „segfault“-Meldungen in der Datei /var/log/messages

Ein Leitfaden für Anfänger zu LVM

Ein Leitfaden für Anfänger zu Cron-Jobs

Leitfaden für Anfänger zum Optimieren von Profilen in CentOS/RHEL

Anfängerleitfaden zur Benutzer- und Gruppenverwaltung in Linux

Fehlermeldungen „Befehl abbrechen ausgegeben Nexus“ in der Datei /var/log/messages

logrotate komprimiert nicht /var/log/messages