Server Logging · 6 min read · Sep 13, 2025

So richten Sie Remote-Logging mit Rsyslog auf Debian 12 ein

Rsyslog ist ein Open-Source-Logging-System-Daemon, der verwendet wird, um Protokollnachrichten von Betriebssystemen und Anwendungen zu sammeln, zu filtern, zu speichern und weiterzuleiten. Es ist ein leistungsstarkes und flexibles Logging-System, das mehrere Protokolle unterstützt, darunter TCP, UDP und RELP (Reliable Event Logging Protocol). Sie können Rsyslog verwenden, um Protokolle für Ihre Server, Anwendungen und Datenbanken zu zentralisieren.

Dieser Leitfaden zeigt Ihnen, wie Sie Rsyslog installieren und Remote-Logging auf dem Debian 12-Server einrichten. Sie werden auch einen Linux-Server einrichten, um Protokolle remote an den Rsyslog-Server zu senden.

Voraussetzungen

Um mit diesem Leitfaden zu beginnen, benötigen Sie Folgendes:

  • Einen Debian 12-Server
  • Einen Nicht-Root-Benutzer mit Administratorrechten
  • Eine Linux-Maschine als Client zum Testen

Rsyslog installieren

Bevor Sie beginnen, müssen Sie Rsyslog auf Ihrem Debian-Server installieren. In diesem Schritt installieren Sie Rsyslog über APT, starten und aktivieren dann den Rsyslog-Dienst.

Zuerst führen Sie den folgenden Befehl aus, um Ihr Debian-Paket-Index zu aktualisieren und Rsyslog auf Ihrem System zu installieren. Geben Sie ‘ Y ‘ ein, um die Installation zu bestätigen.

sudo apt update  
sudo apt install rsyslog

install rsyslog

Nachdem die Installation abgeschlossen ist, führen Sie den folgenden ‘ systemctl ‘ Befehl aus, um den ‘ rsyslog ‘ Server zu starten und zu aktivieren. Überprüfen Sie dann, ob er läuft.

sudo systemctl enable --now rsyslog  
sudo systemctl status rsyslog

In der folgenden Ausgabe können Sie sehen, dass Rsyslog läuft und aktiviert ist.

check rsyslog

UFW (Uncomplicated Firewall) einrichten

Nachdem Rsyslog installiert ist, installieren und konfigurieren Sie UFW (Uncomplicated Firewall). Sie öffnen den Port ‘22’ für den OpenSSH-Dienst und den Port ‘514’ für Rsyslog. Anschließend starten und aktivieren Sie den UFW-Dienst.

Um UFW zu installieren, führen Sie den folgenden ‘ apt ‘ Befehl aus. Geben Sie ‘ Y ‘ ein, um die Installation zu bestätigen.

sudo apt install ufw

install ufw

Nachdem die Installation abgeschlossen ist, führen Sie den folgenden ‘ufw’ Befehl aus, um das ‘ OpenSSH ‘ Profil zu aktivieren und den Zugriff auf den Port ‘514’ zu erlauben. Das ‘ OpenSSH ‘ Profil ermöglicht den SSH-Zugriff und der Port ‘ 514 ‘ ist der Syslog-Port.

sudo ufw allow OpenSSH  
sudo ufw allow 514

Jetzt starten und aktivieren Sie UFW mit dem folgenden Befehl. Geben Sie ‘ y ‘ ein, um zu bestätigen, und Sie erhalten eine Ausgabe wie ‘ Firewall ist aktiv und beim Systemstart aktiviert ‘.

sudo ufw enable

Überprüfen Sie zuletzt den UFW-Status mit dem folgenden Befehl.

sudo ufw status

In der folgenden Ausgabe können Sie UFW mit dem Status aktiv, das OpenSSH-Profil und den aktivierten Port ‘ 514 ‘ sehen.

setup ufw

Rsyslog zum Empfangen von Protokollen von Remote-Servern

Jetzt, da Sie Rsyslog installiert und UFW konfiguriert haben, sind Sie bereit, Rsyslog so einzurichten, dass es Protokolle von Remote-Servern empfängt. Um dies zu erreichen, müssen Sie die Datei ‘/etc/rsyslog.conf’ ändern und konfigurieren:

  1. Aktivieren Sie das ‘ imudp ‘ Modul, um Protokolle von Remote-Servern über UDP zu empfangen
  2. Optional, aktivieren Sie das ‘ imtcp ‘, um Protokolle über TCP zu empfangen
  3. Aktivieren Sie die Option ‘ AllowedSender ‘, um bestimmten Subnetzen das Senden von Protokollen remote zu erlauben
  4. Fügen Sie eine benutzerdefinierte Vorlage für Rsyslog hinzu
  5. Überprüfen Sie die Rsyslog-Konfiguration
  6. Starten, aktivieren und überprüfen Sie den Rsyslog-Dienst

Lassen Sie uns anfangen.

Zuerst bearbeiten Sie die Datei ‘ /etc/rsyslog.conf ‘ mit dem folgenden ‘ nano ‘ Editor.

sudo nano /etc/rsyslog.conf

Kommentieren Sie die folgenden Zeilen aus, um das ‘ imudp ‘ Modul zu aktivieren und das Syslog zu aktivieren, um in den Rsyslog-Server zu protokollieren.

# bietet UDP Syslog-Empfang  
module(load="imudp")  
input(type="imudp" port="514")

Zusätzlich, wenn Sie Syslog über TCP aktivieren müssen, aktivieren Sie das ‘ imtcp ‘ Modul wie folgt:

# bietet TCP Syslog-Empfang  
module(load="imtcp")  
input(type="imtcp" port="50514")

Fügen Sie jetzt die Option ‘ AllowedSender ‘ hinzu und geben Sie Ihr Netzwerk-Subnetz ein, das berechtigt ist, Syslog-Nachrichten an Ihren Rsyslog-Server zu senden.

# $AllowedSender - gibt an, welche Remote-Systeme berechtigt sind, Syslog-Nachrichten an rsyslogd zu senden  
$AllowedSender UDP, 192.168.10.0/24, [::1]/128, *.howtoforge.local, db.howtoforge.local

Geben Sie die folgende Konfiguration ein, um eine Vorlage für Protokolldateien von den Remote-Servern einzurichten. In diesem Beispiel werden Protokolldateien von dem Remote-Server im Verzeichnis ‘ /var/log/servers/server-ip ‘ gespeichert.

#Benutzerdefinierte Vorlage zur dynamischen Generierung des Protokolldateinamens basierend auf der IP-Adresse des Clients.  
$template RemInputLogs, "/var/log/servers/%FROMHOST-IP%/%PROGRAMNAME%.log"  
*.?RemInputLogs

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie als Nächstes den ‘ rsyslogd ‘ Befehl unten aus, um die Rsyslog-Konfiguration zu überprüfen und sicherzustellen, dass Sie die richtige Konfiguration haben.

rsyslogd -f /etc/rsyslog.conf -N1

Wenn keine Fehler auftreten, führen Sie den ‘ systemctl ‘ Befehl unten aus, um den ‘ rsyslog ‘ Dienst neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart rsyslog

Überprüfen Sie zuletzt den Status des ‘ rsyslog ‘ Dienstes, um sicherzustellen, dass er läuft.

sudo systemctl status rsyslog

In der folgenden Ausgabe können Sie sehen, dass der ‘ rsyslog ‘ läuft.

check rsyslog service

Überprüfen Sie zusätzlich den Port ‘ 514 ‘ auf Ihrem Server, um sicherzustellen, dass Rsyslog läuft.

ss -tulpn | grep 514

Sie können unten sehen, dass der UDP-Port ‘ 514 ‘ von Rsyslog verwendet wird.

Protokolle an den Rsyslog-Server senden

Jetzt, da Sie Remote-Logging mit Rsyslog auf Ihrem Debian-Server konfiguriert haben, versuchen wir, Protokolle von der ‘ 192.168.10.41 ‘ an den ‘ 192.168.10.10 ‘ Server zu senden. Um dies zu tun, benötigen Sie Folgendes:

  • Installieren Sie das Rsyslog-Paket auf Ihrer Maschine
  • Bearbeiten Sie die Rsyslog-Konfiguration und definieren Sie, welche Protokolle an den entfernten Rsyslog-Server gesendet werden
  • Optional, das Einrichten des Festplattenwarteschlangenpuffers für Rsyslog

Installieren Sie das ‘rsyslog’ Paket mit dem ‘ apt ‘ Befehl unten. Geben Sie ‘ Y ‘ ein, um die Installation zu bestätigen.

sudo apt install rsyslog

install rsyslog client

Öffnen Sie jetzt die Standardkonfigurationsdatei ‘ /etc/rsyslog.conf ‘ mit dem ‘ nano ‘ Editor.

sudo nano /etc/rsyslog.conf

Fügen Sie die folgende Konfiguration hinzu, um Protokolle an den Rsyslog-Server ‘ 192.168.10.10 ‘ zu senden. In diesem Fall senden wir kernel, cron und authentication Protokolle an den Rsyslog-Server.

# Senden Sie Protokolle an einen Remote-Syslog-Server über UDP  
auth,[email protected]:514  
[email protected]:514  
[email protected]:514

Fügen Sie jetzt Folgendes hinzu, um einen Warteschlangenpuffer für Rsyslog einzurichten.

# Definieren Sie den Festplattenwarteschlangenpuffer für den Fall, dass der Server ausfällt  
$ActionQueueFileName queue # definieren Sie einen Dateinamen für die Festplattenunterstützung.  
$ActionQueueMaxDiskSpace 1g # Die maximale Größe, die alle Warteschlangen-Dateien zusammen auf der Festplatte verwenden werden.  
$ActionQueueSaveOnShutdown on # gibt an, dass Daten beim Herunterfahren gespeichert werden sollen  
$ActionQueueType LinkedList # hält eingereihte Nachrichten im Speicher, was den Prozess sehr schnell macht.  
$ActionResumeRetryCount -1 # verhindert, dass rsyslog Nachrichten verwirft, wenn es versucht, sich zu verbinden, wenn der Server nicht reagiert,

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie als Nächstes den ‘ rsyslogd ‘ Befehl unten aus, um Ihre Rsyslog-Konfiguration zu überprüfen und zu verifizieren.

rsyslogd -f /etc/rsyslog.conf -N1

Wenn keine Fehler auftreten, führen Sie den ‘ systemctl ‘ Befehl unten aus, um Rsyslog neu zu starten und zu überprüfen, ob es läuft.

sudo systemctl restart rsyslogd  
sudo systemctl status rsyslogd

Sie können unten sehen, dass der Rsyslog-Dienst läuft und Ihre Protokolle an den Rsyslog-Server auf ‘ 192.168.10.10 ‘ gesendet werden.

check rsyslog service

Überprüfen der Protokolldateien auf dem Rsyslog-Server

Um sicherzustellen, dass Ihr Rsyslog funktioniert, müssen Sie das Protokollverzeichnis überprüfen, das Sie in der Vorlage konfiguriert haben. In diesem Beispiel werden Protokolldateien von Remote-Servern im Verzeichnis ‘ /var/log/servers’ gespeichert.

Überprüfen Sie das Protokollverzeichnis ‘ /var/log/servers ‘ mit dem folgenden Befehl. Dies zeigt Ihnen das Verzeichnis jedes Servers.

ls /var/log/servers

Überprüfen Sie jetzt das Protokollverzeichnis Ihres Servers, das im Verzeichnis ‘ /var/log/servers/server-ip ‘ gespeichert ist. Sie werden sehen, dass mehrere Protokolldateien auf dem Rsyslog-Server verfügbar sind.

Sie können jetzt Protokolldateien mit dem ‘ cat ‘ oder ‘ tail ‘ Befehl überprüfen, um Details der Protokolle zu sehen.

cat /var/log/servers/logfile.log  
tail -f /var/log/servers/logfile.log

check log

Fazit

Herzlichen Glückwunsch! Sie haben die Installation von Rsyslog auf dem Debian 12-Server abgeschlossen. Sie haben auch Remote-Logging über Rsyslog konfiguriert und das Protokoll über Syslog UDP an den Server gesendet. Für den nächsten Schritt können Sie auch sowohl TCP- als auch UDP-Eingabemodule einrichten und diese mit Protokollsystemen wie Rsyslog oder Logstash integrieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.