Rsyslog ist ein Protokollserver, der in Linux-Systemen verwendet wird. Es ist eine erweiterte Version von Syslog. Rsyslog unterstützt auch Datenbanken ( MySQL, PostgreSQL ) zum Speichern von Protokollen. Dies ist der Standardprotokollierungsserver, der ab CentOS/RHEL 6-Release verwendet wird. Rsyslog ist eine erweiterte Version des Syslog-Dienstes von Linux. Dieser Artikel dient der Konfiguration des zentralisierten Protokollierungsservers in unserer Hosting-Umgebung.
Dieser Artikel hilft Ihnen, den Rsyslog-Dienst auf CentOS/RHEL 5 zu installieren und Rsyslog so zu konfigurieren, dass alle Protokolle an einen zentralen Server gesendet werden. Unser Hauptziel ist, dass sich alle unsere Protokolldateien an einem Ort befinden, von dem aus wir sie problemlos sichern oder einen beliebigen Parser verwenden können, um sie an einem Ort zu analysieren. Wir müssen die Sicherung nicht auf jedem Server einzeln einrichten.
Schritt 1:Rsyslog-Dienst installieren
Rsyslog wird standardmäßig auf RHEL-basierten Systemen ab RHEL 6-Release installiert. Installieren Sie den Rsyslog-Dienst auf dem zentralen Protokollierungssystem sowie auf den Client-Systemen. Verwenden Sie die folgenden Befehle, um den Rsyslog-Dienst in früheren Versionen von RHEL/CentOS-Systemen zu installieren.
# yum install rsyslog
Starten Sie nach der Installation den rsyslog-Dienst und stellen Sie sicher, dass syslog auf dem Server gestoppt ist.
# service syslog stop # chkconfig syslog off # service rsyslog start # chkconfig rsyslog on
Schritt 2:Konfigurieren Sie Rsyslog auf dem zentralen Protokollierungsserver
Jetzt müssen wir Rsyslog auf dem zentralen Protokollierungsserver konfigurieren, um Protokolle von entfernten Clients zu empfangen und sie an verschiedenen Orten zu speichern.
Schritt 2.1:SELinux zulassen
Wenn Sie SELinux auf Ihrem System aktiviert haben, verwenden Sie den folgenden Befehl, um den rsyslog-Datenverkehr auf Port 514 zu aktivieren.
# semanage -a -t syslogd_port_t -p udp 514
Schritt 2.2:Speicherort der Protokolldatei einrichten
Bearbeiten Sie nun die Rsyslog-Konfigurationsdatei und konfigurieren Sie die Speicherorte, um Protokolldateien im System zu generieren.
# vim /etc/rsyslog.conf
und füge folgende Zeilen als Dateiende hinzu.
$template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" authpriv.* ?TmplAuth *.info,mail.none,authpriv.none,cron.none ?TmplMsg
Schritt 2.3:Modul und UDP-Protokoll aktivieren
Entfernen Sie auch den Kommentar aus den folgenden Zeilen (entfernen Sie das beginnende #) in der rsyslog-Konfigurationsdatei, um UDP zu aktivieren.
$ModLoad imudp $UDPServerRun 514
Schritt 2.4:Öffnen Sie den Zugriff in der Firewall
Wenn Sie iptables verwenden, um Ihr System zu schützen, müssen Sie die folgende Regel zum Öffnen des Ports hinzufügen
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT
Schritt 2.5:Starten Sie Rsyslog neu
Nachdem Sie die obigen Änderungen am zentralen Rsyslog-Server vorgenommen haben, starten Sie den Dienst mit dem folgenden Befehl neu.
# service rsyslog restart
Schritt 3:Rsyslog auf Client-Knoten konfigurieren
Nach der Konfiguration des zentralisierten Rsyslog-Servers können Sie das Client-System konfigurieren, um dort Protokolle an den zentralen Rsyslog-Server zu senden. Melden Sie sich bei jedem Client-Knoten an und fügen Sie die folgende Zeile am Ende der Datei hinzu
# vim /etc/rsyslog.conf
Fügen Sie die folgende Zeile hinzu, ändern Sie den Hostnamen oder die IP mit der IP/Hostname Ihres zentralen Rsyslog-Systems.
*.* @192.168.1.254:514 [or ] *.* @logserver.example.com:514
und starten Sie den rsyslog-Dienst mit dem folgenden Befehl neu.
# service rsyslog restart
Und die Einrichtung Ihres zentralen Protokollierungsservers wurde erfolgreich abgeschlossen.