Hallo Freunde. In diesem Beitrag werden wir ein wenig über rsyslog auf Debian 11 sprechen. Außerdem zeigen wir Ihnen, wie Sie es installieren und einrichten, damit Sie von den Clients aus arbeiten können. Fangen wir an.
Was ist rsyslog unter Debian 11?
Schnell können wir sagen, dass rsyslog ein Daemon ist, der für das Sammeln und Zentralisieren der Verwaltung von Protokollen über Client-Rechner zuständig ist.
Normalerweise befinden sich diese Protokolle in /var/logs/
aber es funktioniert für fast jedes Verzeichnis, das Sie in der Konfiguration angeben.
Eines der bemerkenswertesten Dinge an rsyslog ist, dass es vielseitig und robust genug ist, um in Unternehmensumgebungen verwendet zu werden, aber es ist auch so leicht und einfach, dass es auf kleinen Systemen verwendet werden kann.
Darüber hinaus können wir wählen, ob wir die Daten in einer Textdatei oder in einem Datenbankmanager wie MariaDB speichern möchten. Es ist also mühelos zu verwenden, und heute zeigen wir Ihnen, wie es geht.
Installation von rsyslog auf Debian 11 – Einrichten des Log-Servers
In Bezug auf den Server können Sie das Paket aus den offiziellen Debian 11-Repositories installieren. Dazu können Sie, nachdem Sie sich über SSH mit dem Server verbunden haben, diesen aktualisieren.
sudo apt update
sudo apt upgrade
Danach können Sie das Paket installieren, indem Sie
ausführensudo apt install rsyslog
Da Rsyslog auf TCP- und UDP-Port 514 arbeitet, müssen Sie sicherstellen, dass diese Ports in der Firewall geöffnet sind.
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
Um diese Änderungen zu übernehmen, müssen Sie die Firewall neu starten.
sudo ufw reload
Schließlich müssen Sie den Status des Dienstes überprüfen, indem Sie
ausführensudo systemctl status rsyslog
Auf diese Weise wissen wir, dass rsyslog installiert ist und ausgeführt wird. Jetzt müssen wir es konfigurieren.
Konfigurieren des rsyslog-Servers
Die Hauptkonfiguration von rsyslog befindet sich in /etc/rsyslog.conf
Datei, die wir ändern müssen. Es ist immer eine gute Idee, vorher eine Kopie des Originals aufzubewahren.
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
Jetzt bearbeiten
sudo nano /etc/rsyslog.conf
Und das erste, was wir in dieser Datei tun müssen, ist, die Ports zu aktivieren, an denen die Anwendung arbeiten soll.
Entkommentieren Sie also am Anfang der Datei den folgenden Abschnitt.
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
Darüber hinaus müssen wir eine Vorlage definieren, wie rsyslog die Protokolle der Clients sammelt. Fügen Sie in diesem Fall am Ende der Datei diese beiden Zeilen hinzu.
$template remote-incoming-logs,"https://1118798822.rsc.cdn77.org/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Wo wir die remote-incoming-logs
definieren Template und die Logs werden in /var/log
gespeichert und um sie zu unterscheiden, müssen wir den Hostnamen und den Namen des Programms verwenden, das das Protokoll generiert.
Das reicht erstmal. Sie können Ihre Änderungen speichern.
Um sie anzuwenden, starten Sie einfach den Anwendungsdienst neu.
sudo systemctl restart rsyslog
Führen Sie die Konfiguration auf den Clients durch
Die Rsyslog-Konfiguration auf den Clients ist der des Servers ziemlich ähnlich. Zuerst müssen Sie das Paket auf Ihrer Distribution installieren.
Öffnen Sie dann die TCP- und UDP-Ports 514 auf der Firewall.
Und in der rsyslog-Konfigurationsdatei
sudo nano /etc/rsyslog.conf
Fügen Sie am Ende der Datei die folgende Zeile hinzu
*.* @rsyslog-ip-address:514
*.* @@rsyslog-ip-address:514
Denken Sie daran, dass Sie die IP-Adresse des Rsyslog-Servers festlegen müssen. Die erste Zeile bezieht sich auf UDP und die zweite auf TCP.
Zusätzlich müssen Sie der Datei folgende Informationen hinzufügen.
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 2g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Diese Anweisungen sind Optionen, die wir beim Senden der Protokolle festlegen.
Speichern Sie die Änderungen und schließen Sie den Texteditor.
Starten Sie den Dienst neu, um die Änderungen zu übernehmen.
sudo systemctl restart rsyslog
Diese Konfiguration ist ausreichend.
Schlussfolgerung
In diesem Beitrag haben Sie gelernt, wie Sie rsyslog in Debian 11 konfigurieren. So können Sie Ihre Protokolle zentralisieren und haben einen Server, auf dem Sie sie alle überprüfen können.
Ich hoffe, es hat dir geholfen.
Rsyslog-Dokumentation