Dieses Tutorial beschreibt, wie Sie einen zentralen Rsyslog-Server unter CentOS 7 einrichten, um die Protokolle Ihrer Client-Systeme von einem gemeinsamen Ort aus zu verwalten. Sie müssen die Client-Systeme nicht besuchen, wenn Sie die Protokolldateien Ihrer Client-Systeme überprüfen möchten. Dies kann nützlich sein, wenn Sie eine große Anzahl von Systemen in Ihrem Netzwerk haben und die Protokollverwaltung von einem zentralisierten, dedizierten Protokollserver aus durchführen möchten.
Für die Zwecke dieses Handbuchs werde ich zwei Systeme verwenden, eines fungiert als rsyslog-Server und das andere als Client. Das Folgende sind die Details meiner Testboxen.
Rsyslog-Server:
- Betriebssystem: CentOS 7-Minimalversion
- IP-Adresse: 192.168.43.150/24
- Hostname: logserver.ostechnix.local
Client-System:
- Betriebssystem: CentOS 7-Minimalversion
- IP-Adresse: 192.168.43.151
Lassen Sie uns zuerst den Ryslog-Server einrichten.
Zentralisierten Rsyslog-Server auf CentOS 7 einrichten
Dieses Handbuch wurde mit CentOS 7 Minimal Server Edition getestet. Es sollte jedoch auf allen RPM-basierten Distributionen wie RHEL, Fedora, Scientific Linux funktionieren.
Alle unten angegebenen Befehle sollten als root ausgeführt werden Benutzer.
Installieren Sie das rsyslog-Paket, wenn es noch nicht installiert ist.
# yum install rsyslog
Bearbeiten Sie dann die rsyslog-Konfigurationsdatei:
# vi /etc/rsyslog.conf
Suchen Sie Folgendes und kommentieren Sie es aus, damit Ihr Server die UDP- und TCP-Ports abhört.
[...] $ModLoad imudp $UDPServerRun 514 [...] $ModLoad imtcp $InputTCPServerRun 514 [...]
Drücken Sie ESC drücken und :wq eingeben um die Datei zu speichern und zu schließen.
Lassen Sie den Rsyslog-Standardport 514 auf Ihrer Firewall/Ihrem Router zu. Die folgenden Befehle öffnen diesen Port über Firewalld.
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp
Starten Sie den Firewalld-Dienst neu, um die Änderungen zu übernehmen.
# firewall-cmd --reload
Aktivieren und starten Sie abschließend den rsyslog-Dienst:
# systemctl enable rsyslog
# systemctl start rsyslog
Überprüfen Sie mit dem Befehl:
, ob der Resyslog-Dienst ausgeführt wird oder nicht# systemctl status rsyslog
Wenn Sie eine Ausgabe wie unten sehen, herzlichen Glückwunsch! Der Rsyslog-Server ist aktiv und funktioniert!
● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago Main PID: 2490 (rsyslogd) CGroup: /system.slice/rsyslog.service └─2490 /usr/sbin/rsyslogd -n Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging... Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ... Hint: Some lines were ellipsized, use -l to show in full
Sie können die Protokolldetails des Servers selbst mit dem Befehl überprüfen:
# tail -10 /var/log/messages
Dieser Befehl zeigt die letzten zehn Zeilen Ihrer Protokollmeldungen an.
Client-Konfiguration
Installieren Sie rsyslog als root Benutzer mit Befehl:
# yum install rsyslog
Bearbeiten Sie dann die rsyslog-Konfigurationsdatei:
# vi /etc/rsyslog.conf
Unter ##RULES## Direktivenabschnitt, fügen Sie die folgende Zeile hinzu:
*.* @192.168.43.150:514
Oder platzieren Sie diese Zeile einfach am Ende. Dadurch wird alles protokolliert und die Protokolldateien an Ihren Rsyslog-Server gesendet.
Sie können auch bestimmte Elemente protokollieren. Sagen Sie zum Beispiel, um nur cron zu protokollieren Sachen, fügen Sie die folgende Zeile hinzu:
cron.* @192.168.43.150:514
Um alle E-Mail-Nachrichten zu protokollieren, fügen Sie Folgendes hinzu:
mail.* @192.168.43.150:514
Ich möchte alles protokollieren, also habe ich die folgende Zeile hinzugefügt.
*.* @192.168.43.150:514
Sie können anstelle der IP-Adresse auch den FQDN Ihres Rsyslog-Servers angeben.
Speichern und schließen Sie die rsyslog-Konfigurationsdatei.
Aktivieren und starten Sie abschließend den rsyslog-Dienst:
# systemctl enable rsyslog
# systemctl start rsyslog
Ebenso können Sie beliebig viele Clients konfigurieren. um die Protokolle zu überwachen.
Herunterladen - Kostenloses eBook:"Die erweiterte GNU/Linux-Administration"Protokollmeldungen testen
Führen Sie alles auf Ihrem Client-System aus.
Ich werde mit logger manuell einen Eintrag zur Systemprotokolldatei hinzufügen Befehl.
# logger -i -t ostechnix "This is our first log test."
Gehen Sie jetzt zum Rsyslog-Server und prüfen Sie, ob dieses Protokoll gefunden wird.
# tail -l /var/log/messages
Jetzt erhalten Sie die Protokolle Ihrer Client-Systeme vom Server.
Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start Mar 23 17:30:29 client systemd: Stopping System Logging Service... Mar 23 17:30:29 client systemd: Starting System Logging Service... Mar 23 17:30:29 client systemd: Started System Logging Service. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start Mar 23 17:30:34 logserver systemd: Stopping System Logging Service... Mar 23 17:30:34 logserver systemd: Starting System Logging Service... Mar 23 17:30:34 logserver systemd: Started System Logging Service. Mar 23 17:31:35 client ostechnix[2959]: This is our first log test.
Und. das ist alles. Die Rsyslog-Server- und Client-Konfiguration ist abgeschlossen. Wie Sie in dieser Anleitung sehen können, ist das Einrichten eines einfachen Rsyslog-Servers sehr einfach . Obwohl es sich um eine sehr einfache Einrichtung des Protokollservers handelt, hat es bei mir sofort funktioniert.
Empfohlene Lektüre:
- So verwalten Sie Protokolldateien mit Logrotate unter Linux