GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So exportieren Sie Ihre Serverprotokolle mit Rsyslog in Centos 8

In diesem Beitrag erfahren Sie, wie Sie Ihre Serverprotokolle mit Rsyslog in Centos 8 exportieren

In diesem Artikel gehen wir durch die Einrichtung eines CentOS/RHEL 8 Rsyslog-Daemons, um Protokollmeldungen an einen entfernten Rsyslog-Server zu übermitteln. Diese Konfiguration stellt sicher, dass Speicherplatz auf Ihrem Computer für andere Zwecke verfügbar ist.

In CentOS 8 ist der Rsyslog-Daemon bereits installiert und standardmäßig in Betrieb. Führen Sie die folgenden Befehle aus, um festzustellen, ob der rsyslog-Dienst auf dem System aktiv ist.

# grep rsyslog | rpm –q 
# rsyslogd –v 

Wenn das Rsyslog-Paket nicht auf Ihrem CentOS-System installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren.

# yum install rsyslog

Exportieren Sie Ihre Serverprotokolle mit Rsyslog

Ändern Sie die rsyslog-Konfigurationsdatei wie folgt, um den auf einem CentOS 8-System installierten Rsyslog-Daemon zu zwingen, als Protokollclient zu fungieren und alle lokal generierten Protokollmeldungen an einen entfernten Rsyslog-Server zu senden:

Um mit der Änderung zu beginnen, öffnen Sie die Hauptkonfigurationsdatei:

# vim /etc/rsyslog.conf

Hängen Sie dann, wie im folgenden Auszug gezeigt, die folgende Zeile an das Ende der Datei an.

# *. *  @192.168.1.59:514

Stellen Sie sicher, dass die IP-Adresse und der FQDN des Remote-rsyslog-Servers in der obigen Zeile entsprechend ersetzt werden. Die vorangehende Zeile weist den Rsyslog-Daemon an, alle Protokollnachrichten über den 514/UDP-Port an die IP 192.168.1.59 zu senden, unabhängig von Einrichtung oder Schweregrad.

Fügen Sie vor dem Remote-Host ein weiteres @-Zeichen hinzu, wenn der Remote-Protokollserver so konfiguriert ist, dass er nur TCP-Verbindungen akzeptiert, oder wenn Sie ein zuverlässiges Transportnetzwerkprotokoll wie TCP verwenden möchten, wie im folgenden Beispiel dargestellt:

# *. *  @@logs.domain.lan:514

Sonderzeichen wie =oder! können Prioritätsstufen in Linux rsyslog vorangestellt werden, um „nur diese Priorität“ für Gleichheitszeichen und „nicht diese Priorität oder höher“ für!

zu signalisieren

Nachfolgend finden Sie einige Beispiele für Rsyslog-Qualifizierer für Prioritätsstufen:

kern.info =Kernel-Protokolle mit einer Informationspriorität oder höher.
kern.=info =Nur Kernel-Meldungen mit der Priorität Information sind erlaubt.
kern.info;kern.!err =Es sind nur Kernel-Meldungen mit den Prioritäten Info, Notice und Warning erlaubt.
kern.debug;kern.!=Warnung =Außer der Warnung sind alle Kernel-Prioritäten gleich.
kern.* =Alle Nachrichten mit einer Priorität im Kernel
kern.none =Unabhängig von der Priorität keine zugehörigen Kernel-Facility-Meldungen protokollieren.

Wenn Sie zum Beispiel nur eine Teilmenge von Facility-Meldungen an einen entfernten Protokollserver senden möchten, wie etwa alle zugehörigen Mail-Meldungen, unabhängig von der Priorität, fügen Sie die folgende Zeile zur rsyslog-Konfigurationsdatei hinzu:

# mail.* @192.168.1.59:514

Damit die aktualisierten Einstellungen wirksam werden, muss der Rsyslog-Dienst schließlich mit dem folgenden Befehl neu gestartet werden:

# systemctl restart rsyslog.service

Wenn der Rsyslog-Daemon aus irgendeinem Grund beim Booten nicht aktiviert wird, führen Sie den folgenden Befehl aus, um den Dienst systemweit zu aktivieren:

# systemctl enable rsyslog.service

Webserver-Protokolle an einen Remote-Protokollserver senden

Durch Hinzufügen der folgenden Zeile zur Hauptkonfigurationsdatei von Apache, wie unten gezeigt, kann der HTTP-Server so konfiguriert werden, dass er Protokollmeldungen an einen entfernten Syslog-Server überträgt.

# vim /etc/httpd/conf/httpd.conf

Fügen Sie in der Apache-Hauptkonfigurationsdatei die folgende Zeile hinzu.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

Die Zeile weist den HTTP-Daemon an, Protokollnachrichten in die Dateisystem-Protokolldatei zu schreiben, aber sie weist ihn auch an, sie an einen weit entfernten Syslog-Server zu senden, indem sie sie als von der local1-Einrichtung kommend kennzeichnet.

Wenn Sie Apache-Fehlerprotokollmeldungen auch an einen Remote-Syslog-Server senden möchten, erstellen Sie eine neue Regel ähnlich der oben angegebenen, ändern Sie jedoch den Namen der httpd-Protokolldatei und den Schweregrad der Protokolldatei, damit sie der Fehlerpriorität entsprechen , wie im folgenden Beispiel gezeigt:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

Nachdem Sie die obigen Zeilen geändert haben, müssen Sie den Apache-Daemon neu starten, damit die Änderungen wirksam werden:

# systemctl restart httpd.service

Durch Hinzufügen der folgenden Codezeilen zu einer Nginx-Konfigurationsdatei verfügt der Nginx-Webserver ab Version 1.7.1 über eine integrierte Fähigkeit, seine Nachrichten direkt auf einem Remote-Syslog-Server zu protokollieren.

error_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=info main;/code>

Um die vom Apache-Webserver gesendeten Protokolle zu erhalten, nehmen Sie die folgenden Änderungen an der rsyslog-Konfigurationsdatei auf dem Remote-Rsyslog-Server vor.

local1.* @Apache_IP_address:514

Damit ist unsere Diskussion beendet. Sie haben den Rsyslog-Daemon erfolgreich für die Ausführung im Client-Modus eingerichtet und Apache oder Nginx angewiesen, Protokollmeldungen an einen Remote-Syslog-Server weiterzuleiten.

Wenn Ihr System kaputt geht, sollten Sie in der Lage sein, herauszufinden, was schief gelaufen ist, indem Sie sich den Inhalt der Protokolldateien ansehen, die auf dem Remote-Syslog-Server gespeichert sind.

Jetzt wissen Sie, wie Sie Ihre Serverprotokolle mit Rsyslog exportieren.

Auf unserer Homepage finden Sie weitere Anleitungen


Cent OS
  1. Wie konfiguriere ich Remote-Protokollserver mit rsyslog?

  2. So installieren Sie lnav unter CentOS 7

  3. So richten Sie private DNS-Server mit BIND unter CentOS 8 ein

  4. So ändern Sie das Standardprotokollverzeichnis (/var/log) in Rsyslog für CentOS/RHEL 6,7

  5. Rsyslog:So senden Sie Protokolldateien an einen Remote-Server in CentOS/RHEL 6,7

So konfigurieren Sie den Rsyslog-Server in CentOS 8 / RHEL 8

So überwachen Sie Ihre Linux-Server mit Checkmk

So melden Sie sich von CentOS 8 ab

So installieren Sie Log.io unter CentOS 7

Wie überprüfe ich das Fehlerprotokoll Ihrer Website in cPanel?

So überwachen Sie Ihre Linux-Server mit Checkmk