GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So richten Sie den Rsyslog-Server unter Debian 11 (Bullseye) ein

Protokolldateien sind entscheidend für die Untersuchung und Fehlerbehebung von Fehlern. Sie sind die ersten Dateien, die Systemadministratoren untersuchen, um die wahrscheinliche Ursache eines Fehlers einzugrenzen und auf diese Weise Lösungen zur Behebung des Problems zu finden. In einer Infrastruktur mit Dutzenden oder Hunderten von Servern und anderen Geräten kann die Verwaltung von Protokolldateien eine Herausforderung darstellen. Und hier kommt rsyslog ins Spiel.

Rsyslog ist ein Open-Source-Protokollierungsprogramm, das die Weiterleitung von Protokolldateien an einen zentralen Protokollserver in einem IP-Netzwerk ermöglicht. Mit der zentralisierten Protokollierung können Administratoren die Protokolldateien mehrerer Systeme einfach von einem zentralen Punkt aus im Auge behalten. In diesem Beitrag führen wir Sie durch die Installation und Konfiguration von Rsyslog Server auf Debian 11.

Lab-Setup

Um zu demonstrieren, wie Rsyslog verwendet werden kann, um Protokolldateien von einem Client-System an den Rsyslog-Server zu senden, werden wir ein einfaches Lab-Setup wie gezeigt haben

  • Rsyslog-Server:    Debian 11               IP:192.168.1.151
  • Rsyslog-Client:       Ubuntu 20.04      IP:10.20.0.170

Schritt 1)  Rsyslog auf dem Server konfigurieren

Wie bereits erwähnt, arbeitet Rsyslog in einem Client-Server-Modell, und wir beginnen mit der Konfiguration von Rsyslog auf dem Debian 11-Server. Unter Debian 11 wird Rsyslog standardmäßig installiert. Wenn Rsyslog aus irgendeinem Grund nicht vorhanden ist, können Sie es mit dem folgenden Befehl installieren:

$ sudo apt install -y rsyslog

Nach der Installation können Sie den Ausführungsstatus wie folgt überprüfen:

$ sudo systemctl status rsyslog

Als Nächstes konfigurieren wir rsyslog für die Ausführung im Servermodus. Die Konfigurationsdatei ist die Datei /etc/rsyslog.conf. Bearbeiten Sie es also mit Ihrem bevorzugten Texteditor.

$ sudo vi /etc/rsyslog.conf

Fahren Sie fort und kommentieren Sie die folgenden Zeilen aus, die den UDP- und TCP-Syslog-Empfang von Remote-Clients ermöglichen.

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

Fügen Sie danach die folgenden Zeilen ein, um die Vorlage zu definieren, die der Rsyslog-Daemon verwendet, um eingehende Protokolle von Client-Systemen zu speichern.

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

Die Protokolldateien verwenden die folgende Namenskonvention:

  • /%HOSTNAME%/ – Dies ist der Hostname des Client-Systems.
  • /%PROGRAMNAME%/ – Dies identifiziert das Client-Programm, das die Protokolldatei erstellt hat.

Um die Änderungen zu übernehmen, starten Sie den rsyslog-Daemon neu.

$ sudo systemctl restart rsyslog

Standardmäßig lauscht rsyslog auf Port 514. Sie können bestätigen, dass dies der Port ist, auf den der rsyslog-Daemon lauscht, indem Sie den Befehl ss ausführen.

$ sudo ss -tunlp | grep 514

Schritt 2)  Firewallregeln für rsyslog konfigurieren

Der Rsyslog-Daemon wird wie erwartet auf dem Server ausgeführt. Wenn Sie eine UFW-Firewall betreiben, achten Sie darauf, Port 514 zuzulassen, um eingehende Protokollnachrichten zuzulassen.

$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp

Laden Sie dann die Firewall neu, um die Firewall-Regel wie folgt anzuwenden.

$ sudo ufw reload

Der nächste Schritt besteht darin, das Client-Ubuntu-System so zu konfigurieren, dass Protokolldateien an den rsyslog-Server gesendet werden.

Schritt 3)  Konfigurieren Sie das rsyslog-Clientsystem

Der letzte Schritt besteht darin, das Client-System so zu konfigurieren, dass Protokolldateien an den rsyslog-Server gesendet werden. Melden Sie sich beim Client an und stellen Sie erneut sicher, dass der rsyslog-Daemon installiert ist und ausgeführt wird.

Bearbeiten Sie als Nächstes die rsyslog-Konfigurationsdatei.

$ sudo vi /etc/rsyslog.conf

Navigieren Sie zum Ende der Datei und fügen Sie diese Zeilen hinzu.

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-ip-address:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-ip-address:514

Diese Zeilen weisen den Client an, die Protokolldateien sowohl über das UDP- als auch das TCP-Protokoll an den rsyslog-Server zu senden. Beachten Sie, dass die erste Zeile ein einzelnes @-Symbol enthält, das für UDP steht, und die zweite Zeile zwei @@-Symbole für das TCP-Protokoll enthält.

Sollte der Remote-Server ausfallen und Sie möchten Ihre Protokolle aufbewahren, können Sie den Festplattenwarteschlangenpuffer setzen, indem Sie die angezeigten Zeilen anhängen.

##Festplattenwarteschlange festlegen, wenn der rsyslog-Server heruntergefahren wird:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Nachfolgend finden Sie eine Zusammenfassung aller Änderungen an der Client-Konfiguration.

Speichern und beenden Sie die Datei. Starten Sie nun den rsyslog-Dienst neu, damit die Änderungen wirksam werden.

$ sudo systemctl restart rsyslog

An diesem Punkt sollte das Clientsystem die Protokolldateien an den rsyslog-Server senden. Gehen wir zurück zum Server und finden es heraus.

Schritt 4)  Sehen Sie sich die Protokolldateien des Kunden an

Alle Protokolldateien (einschließlich der Server) werden im Verzeichnis /var/log/ gespeichert. Führen Sie den folgenden Befehl aus, um die Protokolle des Clients anzuzeigen:

$ ls /var/log/

Die Protokolldateien des Clients werden in einem Verzeichnis gespeichert, das dem Hostnamen des Clientsystems entspricht, wie unten gezeigt.

Sie können außerdem die im Hauptprotokollverzeichnis enthaltenen Protokolldateien anzeigen.

$ sudo ls -l /var/log/ubuntu-20-04/

Um Protokolle in Echtzeit anzuzeigen, verwenden Sie den tail-Befehl wie gezeigt. Hier sehen wir uns die Protokolle des sudo-Benutzers an.

$ sudo tail -f /var/log/ubuntu-20-04/sudo.log

Wir haben rsyslog erfolgreich installiert und konfiguriert, um das Senden von Protokolldateien vom Clientsystem an den rsyslog-Server zu ermöglichen. Sie können jetzt beliebig viele Client-Systeme konfigurieren, um Protokolle an den rsyslog-Server zu senden, um eine zentralisierte Protokollverwaltungsstruktur zu erreichen.

Das ist alles aus diesem Beitrag, ich hoffe, Sie fanden ihn informativ. Bitte teilen Sie Ihre Fragen und Ihr Feedback im Kommentarbereich unten mit.

Lesen Sie auch :Wie man Protokolldateien unter Linux mit Logrotate rotiert und komprimiert


Debian
  1. Wie man vsftpd unter Debian einrichtet

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

  3. So richten Sie den Rsyslog-Server unter Debian 11 ein

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

  5. Konfigurieren Sie Rsyslog Server auf Debian 10 / Debian 11 (Bullseye) - Schritt-für-Schritt-Anleitung ?

So installieren Sie MySQL 8.0 Server auf Debian 11 Bullseye

So installieren Sie Telnet-Server und -Client unter Debian 11 Bullseye Linux

So installieren Sie Discourse auf dem Debian 11 Bullseye-Server

So richten Sie den OpenLDAP-Server unter Debian 10 ein

So aktualisieren Sie Debian 10 auf Debian 11 Bullseye

Gewusst wie:Ersteinrichtung des Debian 8.2-Servers