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

So richten Sie den Rsyslog-Server unter Ubuntu 18.04 LTS ein

Protokolle sind sehr nützlich für die Analyse und Fehlerbehebung von Problemen im Zusammenhang mit Systemen und Anwendungen in Linux. Standardmäßig befinden sich alle Protokolldateien in Linux-basierten Betriebssystemen im Verzeichnis /var/log. Es gibt verschiedene Arten von Protokolldateien, darunter Cron, Kernel, Benutzer, Sicherheit, und die meisten dieser Dateien werden vom Rsyslog-Dienst gesteuert.

Rsyslog ist ein leistungsstarkes und sicheres System zur Protokollverarbeitung. Der Rsyslog-Server empfängt über das Netzwerk Protokolle von mehreren physischen oder virtualisierten Servern und überwacht den Zustand verschiedener Dienste. Mit dem Rsyslog-Server können Sie Protokolle für andere Server, Netzwerkgeräte und Remoteanwendungen von einem zentralen Standort aus überwachen.

In diesem Tutorial erklären wir, wie man den Rsyslog-Server auf dem Ubuntu 18.04-Server konfiguriert.

Voraussetzungen

  • Zwei Server mit Ubuntu 18.04.
  • Eine statische IP-Adresse 192.168.0.101 ist auf dem Rsyslog-Servercomputer konfiguriert und 192.168.0.102 ist auf dem Rsyslog-Clientcomputer konfiguriert.
  • Ein Root-Passwort ist auf beiden Servern konfiguriert.

Rsyslog installieren

Standardmäßig ist Rsyslog auf dem Ubuntu 18.04-Server installiert. Wenn es nicht installiert ist, können Sie es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install rsyslog -y

Nach der Installation von Rsyslog können Sie die Version von Rsyslog mit dem folgenden Befehl überprüfen:

rsyslogd -v

Sie sollten die folgende Ausgabe erhalten:

rsyslogd 8.32.0, kompiliert mit:PLATFORM:x86_64-pc-linux-gnu PLATFORM (lsb_release -d):FEATURE_REGEXP:Ja GSSAPI Kerberos 5-Unterstützung:Ja FEATURE_DEBUG (Debug-Build, langsamer Code):Nein 32-Bit-Atomic-Operationen werden unterstützt :Ja Unterstützte 64-Bit-Atomoperationen:Ja Speicherzuweisung:Systemstandard Laufzeitinstrumentierung (langsamer Code):Nein uuid-Unterstützung:Ja systemd-Unterstützung:Ja Anzahl der Bits in RainerScript-Ganzzahlen:64 Weitere Informationen finden Sie unter http://www.rsyslog.com. 

Sie können den Status von Rsyslog auch mit dem folgenden Befehl überprüfen:

systemctl status rsyslog

Sie sollten die folgende Ausgabe sehen:

? rsyslog.service - Systemprotokollierungsdienst Geladen:geladen (/lib/systemd/system/rsyslog.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Di 2019-10-22 04:28:55 UTC; vor 1min 31s Dokumente:man:rsyslogd(8) http://www.rsyslog.com/doc/ Main PID:724 (rsyslogd) Tasks:4 (limit:1114) CGroup:/system.slice/rsyslog.service ?? 724 /usr/sbin/rsyslogd -nOct 22 04:28:53 ubuntu1804 systemd[1]:Starting System Logging Service...Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:imuxsock:Acquired UNIX socket '/run/ systemd/journal/syslog' (fd 3) von systemd. [v8.32.0]22. Oktober 04:28:54 ubuntu1804 rsyslogd[724]:Die Gruppen-ID von rsyslogd wurde auf 106 geändert ]:[origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] startOct 22 04:28:55 ubuntu1804 systemd[1 ]:Systemprotokollierungsdienst gestartet.

Rsyslog-Server konfigurieren

Rsyslog ist jetzt installiert und läuft. Als nächstes müssen Sie es so konfigurieren, dass es in einem Servermodus ausgeführt wird. Sie können dies tun, indem Sie die Datei /etc/rsyslog.conf.

bearbeiten
nano /etc/rsyslog.conf

Zuerst müssen Sie das Protokoll entweder UDP oder TCP oder beides definieren.

Um sowohl UDP- als auch TCP-Verbindungen gleichzeitig zu verwenden, suchen Sie die folgenden Zeilen und kommentieren Sie sie aus:

$ModLoad imudp$UDPServerRun 514$ModLoad imtcp$InputTCPServerRun 514

Definieren Sie als Nächstes das spezifische Subnetz, die IP oder die Domäne, um den Zugriff wie unten gezeigt zu beschränken:

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

Als nächstes müssen Sie eine Vorlage erstellen, um dem Rsyslog-Server mitzuteilen, wie er eingehende Syslog-Nachrichten speichern soll. Fügen Sie die folgenden Zeilen direkt vor dem Abschnitt GLOBAL DIRECTIVES hinzu:

$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann die Rsyslog-Konfiguration mit dem folgenden Befehl auf Syntaxfehler:

rsyslogd -f /etc/rsyslog.conf -N1

Sie sollten die folgende Ausgabe sehen:

rsyslogd:Version 8.32.0, Konfigurationsvalidierungslauf (Stufe 1), Masterkonfiguration /etc/rsyslog.confrsyslogd:Ende des Konfigurationsvalidierungslaufs. Tschüss.

Starten Sie schließlich den Rsyslog-Dienst mit dem folgenden Befehl neu:

systemctl startet rsyslog neu

Überprüfen Sie nun mit dem folgenden Befehl, ob Rsyslog auf TCP/UDP lauscht:

netstat -4altunp | grep 514

Sie sollten die folgende Ausgabe erhalten:

tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd 

Rsyslog-Client konfigurieren

Der Rsyslog-Server ist installiert und konfiguriert, um Protokolle von Remote-Hosts zu empfangen.

Jetzt müssen Sie den Rsyslog-Client konfigurieren, um Syslog-Meldungen an den entfernten Rsyslog-Server zu senden.

Melden Sie sich am Client-Rechner an und öffnen Sie die Rsyslog-Konfigurationsdatei wie unten gezeigt:

nano /etc/rsyslog.conf

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

##Senden von Protokollen über UDP aktivieren, folgende Zeile hinzufügen:*.* @192.168.0.101:514##Senden von Protokollen über TCP aktivieren, folgende Zeile hinzufügen:*.* @@192.168.0.101:514## Festlegen der Festplattenwarteschlange, wenn der rsyslog-Server heruntergefahren wird:$ActionQueueFileName queue$ActionQueueMaxDiskSpace 1g$ActionQueueSaveOnShutdown on$ActionQueueType LinkedList$ActionResumeRetryCount -1

Speichern und schließen Sie die Datei. Starten Sie dann den Rsyslog-Server neu, um die Konfigurationsänderungen zu übernehmen:

systemtcl startet rsyslog neu

Kundenprotokoll anzeigen

An diesem Punkt ist der Rsyslog-Client so konfiguriert, dass er sein Protokoll an den Rsyslog-Server sendet.

Melden Sie sich jetzt beim Rsyslog-Server an und überprüfen Sie das Verzeichnis /var/log. Sie sollten den Eintrag mit dem Hostnamen Ihrer Client-Rechner einschließlich mehrerer Protokolldateien sehen:

ls /var/log/rsyslog-client/

Ausgabe:

CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log

Schlussfolgerung

Im obigen Artikel haben wir gelernt, wie man den Rsyslog-Server auf dem Ubuntu 18.04-Server installiert und konfiguriert. Wir haben auch gelernt, wie man den Rsyslog-Client konfiguriert, um Protokolle an den Rsyslog-Server zu senden. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So richten Sie Kerberos-Server und -Client unter Ubuntu 18.04 LTS ein

  2. So richten Sie einen iSCSI-Speicherserver unter Ubuntu 18.04 LTS ein

  3. So richten Sie einen iSCSI-Speicherserver unter Ubuntu 20.04 LTS ein

  4. So richten Sie Elasticsearch unter Ubuntu 18.04 und 16.04 LTS ein

  5. Rsyslog-Server auf Ubuntu 20.04 einrichten - Wie geht das?

So richten Sie den Git-Server unter Ubuntu 20.04 ein

So richten Sie den Rsyslog-Server unter Ubuntu ein

So richten Sie einen DHCP-Server unter Ubuntu ein

So aktualisieren Sie auf Ubuntu Server 22.04 LTS

So richten Sie NTP-Server und -Client unter Ubuntu 20.04 LTS ein

So richten Sie Rsyslog unter Ubuntu 20.04 LTS ein