So senden Sie Linux -Protokolle an einen Remote -Server

So senden Sie Linux -Protokolle an einen Remote -Server
In diesem Linux -Tutorial wird erläutert, wie Linux -Protokolle an einen Remote -Server gesendet werden.

Nach dem Lesen dieses Tutorials wissen Sie, wie Sie den Linux -Server und den Client so konfigurieren, dass Protokolle remote senden können. Sie werden auch lernen, wie Sie die erforderlichen Ports in Ihrem System mit UFW (unkomplizierter Firewall) öffnen können.

Dieses kurze Tutorial ist für Benutzer optimiert, die nach einer schnellen Wissensquelle und einer schnellen Implementierung suchen.

Alle in diesem Dokument beschriebenen Anweisungen enthalten Screenshots, die unerfahrene Benutzer lindern, ihnen zu folgen.

Vorteile des Sendens von Linux -Protokollen an einen Remote -Server

Der Hauptgrund für die Implementierung der Remote -Protokollierung ist der gleiche, da eine engagierte /var Die Partition wird empfohlen: eine Frage des Raums, aber nicht nur. Durch das Senden von Protokollen an ein Remote -Speichergerät können Sie sie noch vor einem Systemabsturz garantieren und eine große historische Datenbank mit Fehler aufbewahren. Diese Implementierung ermöglicht es uns auch, Berichte für mehr als ein Gerät zu zentralisieren.

Erste Schritte mit Linux Remote -Protokollierung

Das Programm, mit dem Protokolle in diesem Tutorial aus der Ferne senden, ist rsyslog, Dies ist standardmäßig in vielen Linux -Verteilungen enthalten, einschließlich Debian und Ubuntu Linux.

Um zu überprüfen, ob RSYSLog in Ihrem System und seinen Status installiert ist, führen Sie den im folgenden Screenshot angezeigten Befehl aus:

Sudo Service Rsyslog -Status

Wie Sie sehen können, ist der Status im folgenden Screenshot aktiv.

Notiz: Wenn rsyslog Sie ist nicht in Ihrem System installiert, Sie können Ihren Paket -Manager verwenden, um es zu erhalten. (E.G., sudo apt installieren rsyslog)

Wenn rsyslog Ist nicht aktiv, Sie können es starten, indem Sie den folgenden Befehl ausführen:

sudo service rsyslog starten

Sie können auch mit dem RSYSLog beginnen, indem Sie den folgenden Befehl ausführen:

Notiz: Weitere Informationen zur Verwaltung von Debian/Ubuntu -Diensten finden Sie in Debian Stop, Start und Neustart auf Debian.

sudo systemctl starten rsyslog

Der rsyslog Das Tool erfordert eine Konfiguration sowohl in den Geräten Senden (Client) als auch Empfang (Server). Im nächsten Abschnitt dieses Tutorials wird erläutert, wie die Serverseite konfiguriert wird. Hier sind die Anweisungen zum Konfigurieren des Clients.

So senden Sie Linux -Protokolle an einen Remote -Server: die Serverseite

Wir müssen sowohl den Server als auch den Client so konfigurieren, dass Protokolle aus der Ferne senden. In diesem Abschnitt werden Anweisungen für die serverseitige Konfiguration angezeigt, um den Client weiter zu konfigurieren.

Der rsyslog Konfigurationsdatei ist /etc/rsyslog.Conf. Sie können diese Datei mit einem beliebigen Texteditor verarbeiten Nano oder vi.

Für dieses Tutorial benutze ich Nano. Öffnen Sie die Datei, wie im folgenden Screenshot gezeigt:

sudo nano /etc /rsyslogg.Conf

Beim Senden von Protokollen schreiben sowohl lokale als auch Remote -Geräte dieselbe Datei. Daher würde es das Lesen zu einer unangenehmen Aufgabe machen. Um dies zu vermeiden und Protokolle separat zu erhalten, fügen Sie den folgenden Code dem hinzu /etc/rsyslog Datei, wie im folgenden Bild gezeigt:

$ template remotelogs ”/var/log/%hostname%/remotelog.Protokoll"
*.* ?Remotelogien
& ~

Scrollen Sie die Datei nach unten und kontrollieren Sie die folgenden Zeilen, indem Sie das Zahlenzeichen (#) am Anfang jeder Zeile entfernen:

Modul (load = "imUdp")
input (type = "imUdp" port = "514")

Auch die folgenden Tätigkeiten:

Modul (load = ”IMTCP”)
input (type = ”imtcp” port = ”514”)

Die vier Zeilen müssen wie im vorherigen Screenshot gezeigt werden.

Sobald Sie die Bearbeitung der Datei beendet haben, drücken Sie Strg+x und dann Y Um Änderungen zu sparen, wenn Sie Nano verwenden.

Nach dem Bearbeiten und Speichern der /etc/rsyslog.Conf Die Datei müssen die Firewall -Regeln aktualisieren, um den Datenverkehr über den in der Konfigurationsdatei standardmäßig definierten Port 514 zuzulassen.

Um die Firewall -Regeln in diesem Tutorial zu bearbeiten, verwende ich UFW (unkomplizierte Firewall).

Um den Port 514 für das TCP -Protokoll zu öffnen, führen Sie den im folgenden Bild angezeigten Befehl aus:

sudo ufw erlauben 514/tcp

Öffnen Sie zum Abschluss den UDP -Port 514, indem Sie den folgenden Befehl ausführen:

UFW erlauben 514/UDP

Jetzt ist Ihre Serverkonfiguration bereit, Remoteprotokolle zu erhalten. Starten Sie den Rsyslog -Dienst neu, indem Sie den folgenden Befehl ausführen:

Sudo Service Rsyslog neu starten

Sobald der Server fertig ist, fahren wir mit der Client -Konfiguration fort.

So senden Sie Linux -Protokolle an einen Remote -Server: die Client -Seite

In diesem Abschnitt Tutorial wird erläutert, wie der Linux -Client so konfiguriert wird, dass Protokolle an den Remote -Server gesendet werden. Die folgenden Schritte müssen auf dem Client -Gerät durchgeführt werden.

Im Client ist die Konfigurationsdatei, die wir bearbeiten müssen /etc/rsyslog.Conf.

Führen Sie den im folgenden Bild angezeigten Befehl auf dem Client -Gerät aus:

sudo nano /etc /rsyslogg.Conf

In dieser Datei müssen wir eine Linie mit der folgenden Syntax hinzufügen:

*.* @@:

In meinem Fall ist die Server -IP 192.168.0.103. Daher füge ich die folgende Zeile hinzu, wie Sie im folgenden Screenshot sehen können:

Notiz: Verwenden Sie nur ein AT -Symbol (@), wenn Sie nur das UDP -Protokoll verwenden.

*.* @@ 192.168.0.103: 514

Drücken Sie nach dem Bearbeiten der Datei Strg+x und dann Y Änderungen sparen.

Starten Sie nun Rsyslog neu, um Änderungen anzuwenden, indem Sie den Befehl ausführen, wie unten gezeigt:

Sudo Service Rsyslog neu starten

Wir sind mit der Clientkonfiguration fertig und bereit, die Remoteprotokolle auf dem Server zu lesen.

Lesen von Linux -Protokollen auf dem Server

Nach den vorherigen Schritten sind beide Systeme bereit, Protokolle zu senden und zu empfangen.

Linux -Protokolle werden unter dem gespeichert /var/log Verzeichnis. Beim Benutzen rsyslog Standardmäßig werden lokale und Remote -Protokolle in derselben Protokolldatei geschrieben, was zu lesen ist. Aber als wir den Server bearbeitet haben /etc/rsyslog.Conf Die Datei auf dem Server haben wir Rsyslog angewiesen, Protokolle in verschiedenen Verzeichnissen und Dateien zu speichern.

Nach unserer Konfiguration werden Remote -Protokolle in einem Verzeichnis mit dem Namen des Remote -Hosts unter gespeichert /var/log. In meinem Fall wird der Remote -Host benannt LinuxHint2; Um Remote -Protokolle anzuzeigen, muss ich daher die Dateien untersuchen /var/log/linuxHint2, Wo LinuxHint2 ist der Remote -Hostname, Sie müssen ihn durch Ihren Client -Hostnamen ersetzen.

Wie Sie im folgenden Screenshot sehen können, unter /var/log, Für jedes Gerät gibt es zwei Verzeichnisse: lokale (LinuxHint) und Remote (LinuxHint2) -Geräte.

ls /var /log

Um das Protokoll im Remote -Verzeichnis zu sehen, führe ich daher den folgenden Befehl aus, in dem Sie ersetzen müssen LinuxHint2 Mit Ihrem Remote -Hostnamen:

sudo ls/var/log/linuxHint2

Wie Sie im vorherigen Bild sehen können, gibt es eine Datei namens Remotelog.Protokollieren Sie den Dateinamen, den wir definiert haben, als wir den Server bearbeitet haben /etc/rsyslog.Conf Datei.

Um das Protokoll zu lesen, können Sie das verwenden weniger Befehl im folgenden Beispiel:

sudo weniger/var/log/linuxHint2/remotelog.Protokoll

Wie Sie sehen können, funktioniert die Remote -Protokollierung ordnungsgemäß.

Jetzt ist die Fernbedienung bereit.

Lesen Sie die Mannseite, um mehr über Rsyslog und ihre zusätzlichen Funktionen zu erfahren, einschließlich Sicherheit, Multi-Threading, MySQL, Oracle, PostgreSQL und anderen DB.sterben.Netz/Mann/5/rsyslog.Conf.

Rsyslog -Alternativen

Der Markt bietet zusätzliche Alternativen zu Rsyslog mit zusätzlichen Funktionen, von denen einige unten aufgeführt sind:

  • Nxlog: NXLog ist eine RSYSLOG -Alternative, die GNU/Linux- und Windows -Betriebssysteme unterstützt. Es ist Open-Source und bietet sowohl Community- als auch Enterprise-Editionen an. Es verfügt über zusätzliche Funktionen, um Informationen über böswilliges Verhalten zu sammeln. Es unterstützt auch Filterereignisprotokolle und Protokollweiterung.
  • syslog-ng: Syslog-ng OSE ist eine weitere Alternative zu Rsyslog, die Linux, Microsoft Windows, FreeBSD, Mac OS X, Solaris, AIX usw. unterstützt. Wie NXLog bietet es sowohl Enterprise- als auch Community -Editionen an.
  • Logzilla: Dies ist eine weitere Protokollierungsoption, die für Heimnutzer und Labors kostenlos für kommerzielle Benutzer bezahlt wird. Laut seiner Website kann es die Ressourcenkosten senken und automatisch umsetzbare Erkenntnisse auf der Grundlage der gesammelten Daten auslösen.

Es gibt viele weitere Alternativen, die Sie erkunden können, aber Rsyslog ist weiterhin am beliebtesten unter Linux- und UNIX -Benutzern.

Abschluss

Wie Sie sehen können, ist das Konfigurieren und Implementieren der Remote -Linux -Protokollierung ein einfacher Prozess, der ein Linux -Benutzer unabhängig von seiner Wissensebene durchführen kann. Remote -Protokollierung ist eine großartige Lösung für Probleme, wie z. B. die vollständige Festplatte aufgrund einer großen Anzahl von Protokollen, wie in diesem Artikel angegeben. Es ist eine hervorragende Möglichkeit für Produktionsserver, den Zugriff auf kritische Informationen vor Vorfällen zu gewährleisten. Rsyslog ist Open-Source und Free und die am weitesten entfernte Protokollierungssoftware, die von der Linux-Community unterstützt wird. Dieses Tutorial konzentrierte.

Vielen Dank für das Lesen dieses Tutorials und wir hoffen, dass es für Sie nützlich war. Lesen Sie weiterhin LinuxHint für professionelle Tutorials.