Heute werden wir einen zentralisierten Syslog-Server auf CentOS 8 / RHEL 8 einrichten, damit der Linux-Administrator mehrere Serverprotokolle an einem einzigen Ort lesen kann.
Linux bezeichnet (auth, cron, FTP, LPR, authpriv, news, mail, syslog usw.) die Protokollmeldungen, um die Art der Software anzugeben, die die Meldungen mit Schweregrad (Alert, Critical, Warning, Notice, Info usw.) generiert hat ..).
Weitere Informationen zu Nachrichtenlabels und Schweregraden finden Sie hier
Umgebung
Zwei Linux-Server (Server und Client).
server.itzgeek.local 192.168.0.10
client.itzgeek.local 192.168.0.20
Server-Setup
Installieren Sie das rsyslog-Paket auf dem Syslog-Server, falls das Paket noch nicht existiert.
dnf install -y rsyslog
Bearbeiten Sie die Datei /etc/rsyslog.conf.
vi /etc/rsyslog.conf
Protokoll
Rsyslog unterstützt sowohl das UDP- als auch das TCP-Protokoll zum Empfangen von Protokollen. Es liegt an Ihnen, zu entscheiden, welches Protokoll Sie verwenden möchten.
Rsyslog empfiehlt die Verwendung des TCP-Protokolls für eine zuverlässige Protokollübermittlung.UDP
Entkommentieren Sie Folgendes, damit der Syslog-Server den UDP-Port abhören kann.
VON:
# Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html # module(load="imudp") # needs to be done just once # input(type="imudp" port="514")
AN:
# Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="514")
TCP
Entkommentieren Sie Folgendes, damit der Syslog-Server den TCP-Port abhören kann.
VON:
# Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html #module(load="imtcp") # needs to be done just once #input(type="imtcp" port="514")
AN:
# Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")
Starten Sie den Syslog-Dienst neu
systemctl restart rsyslog
Überprüfen Sie, ob der Syslog-Server Port 514 überwacht.
netstat -antup | grep 514
Ausgabe:
udp 0 0 0.0.0.0:514 0.0.0.0:* 30918/rsyslogd udp6 0 0 :::514 :::* 30918/rsyslogd
Client-Setup
Installieren Sie das rsyslog-Paket auf dem Client, falls das Paket noch nicht vorhanden ist.
dnf install -y rsyslog
Bearbeiten Sie die Datei /etc/rsyslog.conf.
vi /etc/rsyslog.conf
Fügen Sie am Ende der Datei die folgende Zeile ein, um die Protokollmeldungen des Clients an den zentralen Syslog-Server weiterzuleiten.
UDP:
action(type="omfwd" Target="192.168.0.10" Port="514" Protocol="udp")
TCP:
action(type="omfwd" Target="192.168.0.10" Port="514" Protocol="tcp")Sie können auch den Hostnamen in Target verwenden.
Syslog-Dienst neu starten
systemctl restart rsyslog
Jetzt werden alle Nachrichtenprotokolle an den zentralen Server gesendet und die Kopie wird auch lokal aufbewahrt.
Firewall
Wenn das System über FirewallD verfügt, führen Sie den folgenden Befehl auf dem Syslog-Server aus, um eingehenden Datenverkehr auf Port 514 zu akzeptieren.
UDP:
firewall-cmd --permanent --add-port=514/udp firewall-cmd --reload
TCP:
firewall-cmd --permanent --add-port=514/tcp firewall-cmd --reload
Validieren
Wechseln Sie zum Syslog-Server und sehen Sie sich die Meldungsprotokolldatei an.
tail -f /var/log/messages
Ich habe vsftpd auf dem Client-Rechner installiert und gestartet, Sie können sehen, dass beide auf einem Syslog-Server aufgezeichnet sind.
Jan 31 03:21:07 client systemd[1]: Stopping System Logging Service... Jan 31 03:21:08 client rsyslogd[30944]: [origin software="rsyslogd" swVersion="8.37.0-13.el8" x-pid="30944" x-info="http://www.rsyslog.com"] exiting on signal 15. Jan 31 03:21:08 client systemd[1]: Stopped System Logging Service. Jan 31 03:21:08 client systemd[1]: Starting System Logging Service... Jan 31 03:21:08 client rsyslogd[30952]: environment variable TZ is not set, auto correcting this to TZ=/etc/localtime [v8.37.0-13.el8 try http://www.rsyslog.com/e/2442 ] Jan 31 03:21:08 client systemd[1]: Started System Logging Service. Jan 31 03:21:08 client rsyslogd[30952]: [origin software="rsyslogd" swVersion="8.37.0-13.el8" x-pid="30952" x-info="http://www.rsyslog.com"] start
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben erfolgreich einen zentralisierten Syslog-Server auf CentOS 8 / RHEL 8 eingerichtet. Sie können auch Open-Source-Protokollverwaltungstools wie ELK-Stack oder Graylog für erweiterte Funktionen wie Webschnittstelle, Korrelation von Protokollereignissen usw. verwenden.