Die Protokollierung ist ein kritischer Aspekt der Linux-Serververwaltung. Protokollmeldungen sind nützlich für die Ursachenanalyse und die Vermeidung potenzieller Fehler in der Zukunft. Das Analysieren und Debuggen von Serverfehlern ist eine Kernkompetenz für IT-Ingenieure und Systemadministratoren.

Diese Anleitung zeigt Ihnen, wie Sie einen Remote-Logging-Server, auch als Log-Host bezeichnet, unter Linux einrichten. Ein Protokollhost ermöglicht es Ihnen, lokale Linux-Protokolle auf einem zentralisierten Remote-Server zusammenzufassen, um den Zugriff und die Analyse zu erleichtern.

Warum einen dedizierten Protokollserver?

Das Linux-Betriebssystem protokolliert die meisten Aktivitäten auf Ihrem Server zum Auditieren und Debuggen mithilfe des Syslog-Daemons (System Logging Protocol). Sie fragen sich vielleicht, warum ich einen dedizierten Server für meine Protokolle benötige? Hier sind einige Vorteile eines dedizierten Protokollierungsservers:

  • Höhere Sicherheit, da der Remote-Logging-Server nur wenige Ports nach außen offen hat.
  • Verbesserte Serverleistung, da der Remote-Protokollierungshost nicht viele Dienste ausführt, mit Ausnahme derjenigen, die für die Protokollierung verwendet werden.
  • Erleichtert die Archivierung und Verwaltung von Protokollmeldungen.

Protokollmeldungen sind wichtig für die Prüfung Ihrer Server und die Erstellung von Ausgangsdaten und sind ein zentraler Bestandteil der vorbeugenden Wartungsverfahren für Ihre Serverinfrastruktur.

Schritt 1: Installation von rsyslog unter Linux

Dieses Handbuch konzentriert sich auf Ubuntu 20.04, aber der Prozess sollte ziemlich gleich sein, wenn Sie andere Mainstream-Linux-Distributionen verwenden.

rsyslog ist ein Remote-Protokollierungsdienst für Linux und wird standardmäßig auf den meisten modernen Linux-Distributionen vorinstalliert, z. B. Ubuntu und anderen Debian-basierten Systemen.

Der Dienst rsyslog ist ein moderner und verbesserter Daemon für Syslog, mit dem Sie Protokolle nur lokal verwalten können. Mit dem rsyslog-Daemon können Sie Ihre lokalen Protokolle an einen konfigurierten Remote-Linux-Server senden.

Wenn Sie rsyslog nicht auf Ihrem PC installiert haben, können Sie dies ganz einfach mit dem folgenden Befehl auf Debian-basierten Distributionen tun:

sudo apt installiere rsyslog

Unter Red Hat Linux können Sie es installieren, indem Sie Folgendes eingeben:

yum installiere rsyslog

Führen Sie auf Fedora und seinen Derivaten Folgendes aus:

dnf installiere rsyslog

So installieren Sie rsyslog unter Arch Linux:

yay -S rsyslog

Führen Sie den folgenden Befehl aus, um den Status von rsyslog zu überprüfen:

systemctl-Status rsyslog

Ausgabe:

Schritt 2: Konfigurieren des Log-Host-Servers

Der Protokollhost ist der Server, der für den Empfang von Protokollnachrichten von anderen Servern oder PCs konfiguriert ist. Die rsyslog-Konfiguration befindet sich in der /etc/rsyslog.conf Datei.

Sie können die öffnen /etc/rsyslog.conf Datei verwenden ein beliebiger Texteditor Ihrer Wahl. In diesem Handbuch verwenden wir Vim.

Sie benötigen erhöhte Rechte, um Änderungen an der Konfigurationsdatei vorzunehmen.

Bevor Sie mit der Bearbeitung der Konfigurationsdatei beginnen, sollten Sie eine Sicherungskopie oder Kopie der Datei erstellen. Führen Sie dazu den Befehl aus:

sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config

Als nächstes öffnen Sie die /etc/rsyslog.conf Datei mit einem Texteditor.

sudo vim /etc/rsyslog.conf 

Es gibt zwei Protokolle, die Sie zum Senden/Empfangen von Protokolldateien mit rsyslog verwenden können: TCP und UDP. Diese Anleitung zeigt Ihnen, wie Sie beide konfigurieren.

Sie müssen nicht sowohl UDP als auch TCP konfigurieren, damit die Remoteprotokollierung funktioniert. Entscheiden Sie sich nur für eines der beiden.

Wenn Sie UDP bevorzugen, suchen Sie nach den folgenden Zeilen und kommentieren Sie sie aus, indem Sie die führende Zeile entfernen Pfund (#) Symbol vor den Zeilen. Sie finden diese Zeilen im Modulabschnitt der Konfigurationsdatei.

Modul (load="imudp")
Eingabe (type="imudp" port="514")

Wenn Sie lieber TCP verwenden, kommentieren Sie die folgenden Zeilen aus, indem Sie die führende Zeile entfernen Pfund (#) Symbol am Anfang der Zeilen:

Modul (load="imtcp")
Eingabe (type="imtcp" port="514")

Die folgende Abbildung zeigt die rsyslog-Konfigurationsdatei, die für die Verwendung der UDP-Kommunikation konfiguriert ist:

Konfigurieren Sie als Nächstes den Speicherort, an dem rsyslog Ihre Protokolle speichert. Zur besseren Organisation sollten Sie eingehende Protokolle nach ihrer Herkunft kategorisieren. Definieren Sie eine Vorlage in Ihrer rsyslog-Konfigurationsdatei, indem Sie die folgenden Zeilen hinzufügen:

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

Die oben genannten Zeilen befehlen rsyslog, die Protokolle in dem Ordner zu speichern /var/log/remote/hostname, wo Hostname ist der Name des Remoteclients, der Protokollnachrichten an den Protokollhost sendet.

Speichern Sie nun die vorgenommenen Änderungen. Wenn Sie Vim verwenden, So speichern und beenden Sie eine Datei.

Starten Sie abschließend die rsyslog-Dienste neu, damit die vorgenommenen Änderungen wirksam werden.

sudo systemctl startet rsyslog neu

Schritt 3: Konfigurieren Sie Ihre Firewall

Wenn Ihre Firewall aktiviert ist, stellen Sie sicher, dass der oben konfigurierte Port mit der Außenwelt kommunizieren kann. Sie müssen Ihre Firewall-Regeln bearbeiten, um eingehende Protokolle zuzulassen.

Verwenden Sie für Debian-basierte Distributionen einfach das UFW-Tool, um entweder das UDP- oder das TCP-Übertragungsprotokoll zu aktivieren.

Verwandt: So konfigurieren Sie die Firewall in Ubuntu mit UFW

Wenn Sie UDP verwenden, führen Sie den folgenden Befehl aus, wobei 514 die konfigurierte Portnummer ist:

sudo ufw 514/udp

Wenn Sie TCP auf Port 514 verwenden, führen Sie einfach Folgendes aus:

sudo ufw 514/tcp

Auf Fedora können Sie verwenden Firewall-cmd um ähnliche Ergebnisse zu erzielen.

firewall-cmd --zone=zone --add-port=514/udp

Öffnen Sie für Red Hat Linux die iptables Datei befindet sich unter /etc/sysconfig/iptables Verwenden Sie den Texteditor Ihrer Wahl und fügen Sie die folgende Regel hinzu:

-A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT

Starten Sie den iptables-Dienst neu, damit die Änderungen wirksam werden.

Dienst iptables neu starten

Schritt 4: Konfigurieren des Protokollierungsclients

Der Client ist die Maschine, die ihre Protokolle an einen entfernten oder zentralisierten Protokoll-Host-Server sendet. Öffnen Sie die rsyslog-Konfigurationsdatei unter /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Fügen Sie die folgende Zeile hinzu, wenn Sie UDP verwenden, wo 192.168.12.123 die IP-Adresse des Remote-Servers ist, schreiben Sie Ihre Protokolle an:

*.* @192.168.12.123:514

Wenn Sie TCP verwenden, fügen Sie stattdessen die folgende Zeile hinzu. Beachten Sie, dass die Zeile zwei hat @ Symbole.

*.* @@192.168.12.123:514

Speichern Sie Ihre Änderungen und starten Sie den rsyslog-Dienst auf dem Client mit dem Befehl neu:

sudo systemctl startet rsyslog neu

Schritt 5: Anzeigen der Protokollmeldungen auf dem Server

Sie können SSH verwenden, um sich bei Ihrem Remote-Server anzumelden und die von den Client-Servern gesendeten Protokolle anzuzeigen. In diesem Fall ist rsyslog so konfiguriert, dass es die Client-Protokolle in der speichert /var/log/remote Verzeichnis des entfernten Servers.

cd /var/logs/remote

Listen Sie dann den Inhalt des Verzeichnisses mit auf der ls-Befehl:

ls-l

Wie Sie in der Ausgabe sehen können, enthält das Verzeichnis Protokollmeldungen für die genannten Remote-Server andiwa und rukuru. Ihre Protokolldateien werden benannt andiwa.log und rukuru.log bzw.

Sie können sich die Protokolldateien dann mit einem Texteditor oder mit ansehen Tools zum Anzeigen von Linux-Dateien wie Katze oder weniger.

Remote Logging gibt Ihnen mehr Kontrolle

Diese Anleitung hat sich mit der Einrichtung eines Remote-Logging-Servers (Log-Host) unter Linux beschäftigt.

Ein Log-Host bietet Ihnen eine bessere Organisation und Kontrolle, wenn es um die Protokollierung geht. Selbst in Szenarien, in denen ein System beschädigt oder unzugänglich ist, können Sie seine Protokolle immer noch vom Protokollhost anzeigen und herausfinden, was schief gelaufen ist.

Erste Schritte mit der Systemprotokollierung unter Linux

Lesen Sie weiter

TeilenTwitternTeilenEmail

Verwandte Themen

  • Linux
  • Systemadministration
  • Linux-Befehle

Über den Autor

Mwiza Kumwenda (52 veröffentlichte Artikel)

Mwiza entwickelt von Beruf Software und schreibt ausführlich über Linux und Front-End-Programmierung. Einige seiner Interessen umfassen Geschichte, Wirtschaft, Politik und Unternehmensarchitektur.

Mehr von Mwiza Kumwenda

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden