Verwendung von syslog-ng zum Sammeln von Protokollen von Remote-Linux-Computern

Bild: Jack Wallen

Angenommen, Ihr Rechenzentrum ist mit Linux-Servern gefüllt und Sie müssen alle verwalten. Ein Teil dieses Verwaltungsauftrags ist das Anzeigen von Protokolldateien. Wenn Sie sich jedoch zahlreiche Computer ansehen, bedeutet dies, dass Sie sich bei jedem Computer einzeln anmelden, Protokolldateien lesen und dann zum nächsten wechseln. Je nachdem, wie viele Maschinen Sie haben, kann dies einen großen Teil Ihres Tages in Anspruch nehmen.

Sie können auch einen einzelnen Linux-Computer einrichten, um diese Protokolle zu erfassen. Das würde Ihren Tag erheblich effizienter machen. Zu diesem Zweck können Sie sich für eine Reihe verschiedener Systeme entscheiden, von denen eines Syslog-ng ist.

Das Problem mit syslog-ng ist, dass die Dokumentation nicht so einfach zu durchkämmen ist. Ich habe mich jedoch darum gekümmert und werde die Installation und Konfiguration so gestalten, dass Sie Syslog-ng in kürzester Zeit zum Laufen bringen können. Ich werde unter Ubuntu Server 16.04 ein Setup mit zwei Systemen demonstrieren:

  • UBUNTUSERVERVM unter der IP-Adresse 192.168.1.118 dient als Protokollkollektor
  • UBUNTUSERVERVM2 dient als Client und sendet Protokolldateien an den Collector

Lassen Sie uns installieren und konfigurieren.

Installation

Die Installation ist einfach. Ich werde von den Standard-Repositorys installieren, um dies so einfach wie möglich zu machen. Öffnen Sie dazu ein Terminalfenster und geben Sie den folgenden Befehl ein:

 sudo apt install syslog-ng 

Sie müssen den obigen Befehl sowohl für den Collector als auch für den Client ausführen. Sobald dies installiert ist, können Sie es konfigurieren.

Konfiguration für den Kollektor

Wir beginnen mit der Konfiguration des Protokollkollektors. Die Konfigurationsdatei lautet /etc/syslog-ng/syslog-ng.conf . Syslog-ng enthält standardmäßig eine Konfigurationsdatei. Das werden wir nicht nutzen. Benennen wir die Standardkonfigurationsdatei mit dem Befehl sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.BAK um . Erstellen Sie nun eine neue Konfigurationsdatei mit dem Befehl sudo nano /etc/syslog/syslog-ng.conf . Fügen Sie in dieser Datei Folgendes hinzu:

 @version: 3.5 @include "scl.conf" @include "` scl-root` / system / tty10.conf "options {time-reap (30); Markierungsfrequenz (10); Keep-Hostname (ja); }; Quelle s_local {system (); intern (); }; Quelle s_network {syslog (Transport (TCP) Port (514)); }; Ziel d_local {Datei ("/ var / log / syslog-ng / messages _ $ {HOST}"); }; Ziel d_logs {Datei ("/var/log/syslog-ng/logs.txt" Eigentümer ("root") Gruppe ("root") perm (0777)); }; log {source (s_local); Quelle (s_network); Ziel (d_logs); }; 

Beachten Sie, dass wir mit Port 514 arbeiten. Stellen Sie daher sicher, dass in Ihrem Netzwerk darauf zugegriffen werden kann.

Speichern und schließen Sie die Datei. Die obige Konfiguration speichert die gewünschten Protokolldateien (mit system () und internal () gekennzeichnet) in /var/log/syslog-ng/logs.txt . Aus diesem Grund müssen Sie das Verzeichnis und die Datei mit den folgenden Befehlen erstellen:

 sudo mkdir / var / log / syslog-ng sudo touch /var/log/syslog-ng/logs.txt 

Starten und aktivieren Sie syslog-ng mit den folgenden Befehlen:

 sudo systemctl syslog-ng starten sudo systemctl syslog-ng aktivieren 

Konfiguration für den Client

Wir werden das Gleiche auf dem Client tun (Verschieben der Standardkonfigurationsdatei und Erstellen einer neuen Konfigurationsdatei). Kopieren Sie den folgenden Text in die neue Client-Konfigurationsdatei:

 @version: 3.5 @include "scl.conf" @include "` scl-root` / system / tty10.conf "source s_local {system (); intern (); }; Ziel d_syslog_tcp {syslog ("192.168.1.118" Transportport ("tcp") Port (514)); }; log {source (s_local); destination (d_syslog_tcp); }; 

Hinweis: Ändern Sie die IP-Adresse so, dass sie mit der Adresse Ihres Collector-Servers übereinstimmt.

Speichern und schließen Sie diese Datei. Starten und aktivieren Sie syslog-ng auf dieselbe Weise wie auf dem Collector.

Zeigen Sie die Protokolldateien an

Gehen Sie zurück zu Ihrem Sammler und geben Sie den Befehl sudo tail -f /var/log/syslog-ng/logs.txt ein . Sie sollten eine Ausgabe sehen, die Protokolleinträge für Collector und Client enthält ( Abbildung A ).

Abbildung A.

Syslog-ng sammelt Protokolle sowohl vom Kollektor als auch vom Client.

Herzlichen Glückwunsch, syslog-ng funktioniert. Sie können sich jetzt bei Ihrem Collector anmelden, um Protokolle sowohl vom lokalen Computer als auch vom Remoteclient anzuzeigen. Wenn sich in Ihrem Rechenzentrum mehr Linux-Server befinden, führen Sie die Installation von syslog-ng durch und richten Sie jeden als Client ein, um seine Protokolle an den Collector zu senden, sodass Sie sich nicht mehr bei einzelnen Computern anmelden müssen, um Protokolle anzuzeigen .

Newsletter zu Trends im Rechenzentrum

DevOps, Virtualisierung, Hybrid Cloud, Speicher und betriebliche Effizienz sind nur einige der Themen im Rechenzentrum, die wir hervorheben werden. Wird montags und mittwochs geliefert

Heute anmelden

© Copyright 2021 | pepebotifarra.com