Verfolgen der Netzwerklatenz mit SmokePing unter FreeBSD 11

Einführung

SmokePing ist ein Tool zur Verfolgung der Netzwerklatenz. Wenn Sie die Netzwerklatenz Ihres Servers nachverfolgen, erhalten Sie ein nützliches Bild über den Gesamtzustand und die Verfügbarkeit Ihres Servers. Sie können beispielsweise feststellen, ob Ihr Netzwerk überlastet ist, oder Sie auf Paketverlust hinweisen, was auf eine falsche Routerkonfiguration oder ein heruntergefahrenes Gerät hinweisen kann.

Tobias Oetiker, der Schöpfer von SpokePing, erstellte auch ein Dienstprogramm für die Datenerfassung und Zeitreihengrafik mit dem Namen RDDtool. SmokePing verwendet RDDtool, sodass Sie auch Zugriff auf seine ausgefeilten Grafikfunktionen haben.

Dieses Tutorial zeigt Ihnen, wie Sie SmokePing mit Apache unter FreeBSD installieren und konfigurieren.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Ein FreeBSD 11-Server mit einem * root * -Benutzer. Bei DigitalOcean ist der Standardbenutzer * freebsd * in Ordnung.

Schritt 1 - Installieren von Apache mit FastCGI-Unterstützung

Zunächst installieren wir den Apache-Webserver und das FastCGI-Modul, mit dem SmokePing das Webinterface versorgt.

Aktualisieren Sie zunächst die Repository-Informationen Ihres Servers.

sudo pkg update

Um Apache mit FastCGI-Unterstützung zu installieren, können Sie einfach "+ pkg " anweisen, das FastCGI-Modul zu installieren. ` pkg +` behandelt alle Abhängigkeiten, die vom Modul selbst benötigt werden, und installiert daher automatisch auch das Apache-Hauptpaket.

sudo pkg install ap24-mod_fcgid

Bestätigen Sie die Installation mit + Y +. Sobald Apache installiert ist, müssen wir es anpassen, damit es funktioniert.

Schritt 2 - Apache konfigurieren

Es gibt zwei kleine Änderungen, die wir an Apache vornehmen müssen: Aktualisieren einiger Serverinformationen in "+ httpd.conf +" und Aktivieren des FastCGI-Moduls.

Öffnen Sie zunächst "+ / usr / local / etc / apache24 / httpd.conf +" zum Bearbeiten.

sudo ee /usr/local/etc/apache24/httpd.conf

Bearbeiten Sie die beiden folgenden Anweisungen. Setzen Sie "+ ServerAdmin " auf Ihre E-Mail-Adresse und entfernen Sie das Kommentarzeichen (indem Sie das vorherige " # " löschen) und bearbeiten Sie " ServerName +" zur IP-Adresse Ihres Servers.

httpd.conf

. . .
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. [email protected]
#
ServerAdmin

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName
. . .

Speichern und schließen Sie die Datei.

FastCGI ist kein Standardmodul, daher müssen wir es zur Apache-Konfiguration hinzufügen, um es zu laden. Um das Modul zu laden, müssen wir eine neue Konfigurationsdatei in "+ / usr / local / etc / apache24 / modules.d / +" erstellen und die Modulinformationen hinzufügen.

Das Modul README, gefunden in "+ / usr / local / etc / apache24 / modules.d / README_modules.d ", sagt "Dateien werden automatisch eingeschlossen, wenn der Name mit einer dreistelligen Zahl beginnt, gefolgt von" + _ + "und endet in ` .conf ` ”. Um dies zu erreichen, erstellen wir eine Datei mit dem Namen " 001_fcgid.conf +".

sudo ee /usr/local/etc/apache24/modules.d/001_fcgid.conf

Fügen Sie Folgendes in die Datei ein, wodurch Apache angewiesen wird, das Modul zu laden und wo es zu finden ist.

/usr/local/etc/apache24/modules.d/001_fcgid.conf

LoadModule  fcgid_module            libexec/apache24/mod_fcgid.so

Speichern und schließen Sie die Datei.

Nachdem Apache mit FastCGI eingerichtet ist, können wir SmokePing selbst installieren.

Schritt 3 - Installation und Konfiguration von SmokePing

Die Installation von SmokePing ist unkompliziert, da es sich im Paket-Repository befindet.

sudo pkg install smokeping

Die SmokePing-Konfiguration befindet sich standardmäßig in "+ / usr / local / etc / smokeping / config +". Sie müssen diese Datei bearbeiten, um einige Felder anzupassen.

sudo ee /usr/local/etc/smokeping/config

Im Abschnitt * Allgemein * müssen Sie vier Felder bearbeiten:

  • + owner +, welches Ihren Namen haben sollte

  • + contact +, die Ihre E-Mail-Adresse haben sollte

  • + imgurl +, das aktualisiert werden sollte, um die IP-Adresse Ihres Servers zu verwenden

  • + cgiurl +, das ebenfalls aktualisiert werden sollte, um die IP-Adresse Ihres Servers zu verwenden

So sieht die Datei aus, wenn Sie fertig sind:

/ usr / local / etc / smokeping / config

*** General ***

owner    =
contact  =
mailhost = my.mail.host
. . .
imgcache = /usr/local/smokeping/htdocs/img
imgurl   = http:///smokeping/img
datadir  = /usr/local/var/smokeping
piddir  = /usr/local/var/smokeping
cgiurl   = http:///smokeping.fcgi
. . .

SmokePing unterstützt eine Master / Slave-Architektur, um deren Terminologie zu verwenden. In diesem Tutorial richten wir SmokePing nur auf einer Maschine ein. Kommentieren Sie daher den Abschnitt * Slaves * der Konfiguration aus, indem Sie jeder Zeile ein "+ # +" voranstellen.

/ usr / local / etc / smokeping / config

. . .
*** Slaves ***
secrets=/usr/local/etc/smokeping/smokeping_secrets
+boomer
display_name=boomer
color=0000ff

+slave2
display_name=another
color=00ff00
. . .

Lassen Sie diese Datei geöffnet, da wir sie im nächsten Schritt weiter bearbeiten, um die SmokePing-Ziele einzurichten.

Schritt 4 - Ziele definieren

Das Letzte, was wir der SmokePing-Konfigurationsdatei hinzufügen, sind Ziele. Um die Erklärung von SmokePing zu paraphrasieren, sind Ziele eine hierarchische Liste von Hosts, die die Endpunkte der Netzwerkverbindungen markieren, die das System überwachen soll. Jedes Ziel gibt an, welche Art von probe verwendet werden soll, die einen externen Ping-Befehl in SmokePing integriert (wie http://fping.org/ [+ fping +]).

In diesem Tutorial richten wir eine Konfiguration ein, die die Latenz zwischen Ihrem Server und zwei FreeBSD + pkg + - Spiegeln überwacht. Wir erstellen drei Diagramme: zwei, in denen die Latenz für jeden der beiden Spiegelserver unabhängig voneinander und eines, in dem die Latenz beider Spiegelserver gleichzeitig angezeigt wird.

Ziele werden im Abschnitt * Ziele * der SmokePing-Konfigurationsdatei konfiguriert. Es gibt viele Variablen, mit denen Sie Ihre Ziele anpassen können. Hier verwenden wir jedoch nur die folgenden:

  • * probe *: Der Ping-Befehl, mit dem nach Latenz gesucht wird.

  • * menu *: Das in der GUI anzuzeigende Standardmenü.

  • * title *: Der Titel der entsprechenden SmokePing-Seite.

  • * Bemerkung *: Der Text, der auf der Seite erscheinen wird.

  • * host *: Die IP-Adresse oder der Hostname des Endpunkts.

Löschen Sie zunächst die vorhandene Beispielkonfiguration, damit das Ende Ihrer Datei wie folgt aussieht:

  • Ziele ** Abschnitt über / usr / local / etc / smokeping / config

. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
        Here you will learn all about the latency of our network

Kopieren Sie anschließend die folgende Konfiguration und fügen Sie sie in die vorhandenen Standardeinstellungen ein.

  • Ziele ** Abschnitt über / usr / local / etc / smokeping / config

. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
        Here you will learn all about the latency of our network

Lassen Sie uns erklären, was dies tut.

Ziele sind hierarchisch, dh Sie können Ebenen von Zielen verschachteln, um die Organisation zu erleichtern. Jede verschachtelte Ebene von Zielen erstellt ein neues Untermenü in der SmokePing-Benutzeroberfläche, in dem verschiedene Diagramme angezeigt werden.

In unserer Konfiguration bedeutet die Zeile "+ Ziele +", dass wir eine verschachtelte Ebene von Zielen definieren. Verschachtelte Ziele enthalten die Werte der übergeordneten Konfiguration, sodass die Zeile " probe = FPing " nicht erneut eingefügt werden muss, wenn diese Ziele denselben Test verwenden sollen. Wir haben jedoch die Variablen " title " und " menu +" für den neuen Unterabschnitt aktualisiert, sodass die Seite auf der Site einen anderen Titel und ein anderes Menü aufweist.

Die Zeilen "+ pkgmir_ " bedeuten, dass wir eine zweite verschachtelte Ebene definieren, die zwei Ziele enthält. Diese haben eine * host * -Variable für die Adresse des Endpunkts, die unsere beiden FreeBSD-Spiegelserver ` pkg +` sind.

Mit der obigen Konfiguration wird ein Diagramm pro Ziel erstellt. Fügen Sie darunter einen weiteren Abschnitt hinzu, um mehrere Ziele in einem Diagramm zu kombinieren.

  • Ziele ** Abschnitt über / usr / local / etc / smokeping / config

. . .
   ++ pkgmir_ydx
   menu = FreeBSD pkg Mirror (YDX)
   title = FreeBSD pkg Mirror Hosted by Yandex, Russia
   host = pkg0.ydx.freebsd.org

Beachten Sie, dass in diesem Abschnitt die beiden Ziele verwendet werden, die wir bereits konfiguriert haben (+ / goals / pkgmir_nyi + und + / goals / pkgmir_ydx +).

Speichern und schließen Sie die Datei. Die Konfiguration von SmokePing ist vollständig eingerichtet. Verbinden Sie Apache und SmokePing und starten Sie die entsprechenden Dienste.

Schritt 5 - Verbinden und Aktivieren der Dienste

Erstellen Sie eine Konfigurationsdatei für Apache in + / usr / local / etc / apache24 / Includes / + mit dem Namen + smokeping.conf +.

sudo ee /usr/local/etc/apache24/Includes/smokeping.conf

Hier fügen wir die Informationen hinzu, die Apache benötigt, um Anfragen an die SmokePing-Weboberfläche zu bearbeiten. Kopieren Sie Folgendes und fügen Sie es in die neue Datei ein:

/usr/local/etc/apache24/Includes/smokeping.conf

ScriptAlias /smokeping.fcgi /usr/local/smokeping/htdocs/smokeping.fcgi
Alias       /smokeping      /usr/local/smokeping/htdocs/
<Directory "/usr/local/smokeping/htdocs/">
       AddHandler      fcgid-script .fcgi
       AllowOverride   None
       DirectoryIndex  index.html smokeping.fcgi
       Options         FollowSymLinks ExecCGI
       Require         all granted
</Directory>

Dies teilt Apache mit, wo SmokePing-Dateien zu finden sind, und stellt sicher, dass FastCGI verwendet wird.

Die Standarddienstkonfiguration für Apache und SmokePing startet die Prozesse nicht beim Start. Führen Sie die folgenden beiden Befehle aus, um dies zu ändern.

sudo sysrc apache24_enable="YES"
sudo sysrc smokeping_enable="YES"

Die Ausgabe für die beiden oben genannten Befehle sollte folgendermaßen aussehen:

Outputapache24_enable:  -> YES
smokeping_enable:  -> YES

Jetzt können Sie den Apache-Dienst starten.

sudo service apache24 start

Wenn es erfolgreich gestartet wird, sehen Sie:

OutputPerforming sanity check on apache24 configuration:
Syntax OK
Starting apache24.

Andernfalls wird ein Fehler angezeigt, mit dem Sie Probleme in der Konfigurationsdatei beheben können. Starten Sie abschließend den SmokePing-Dienst.

sudo service smokeping start
OutputStarting smokeping.
Note: logging to syslog as local0/info.
Daemonizing /usr/local/bin/smokeping ...

Alles läuft, sehen wir uns also unsere Grafiken in Aktion an.

Schritt 6 - Zugriff auf das Webinterface von SmokePing

Sie können auf die Weboberfläche von SmokePing zugreifen, indem Sie in Ihrem bevorzugten Browser "+ http: /// smokeping +" aufrufen. Sie sehen eine Seite mit dem Titel und der Anmerkung, die Sie in Schritt 5 angegeben haben. Wenn Sie keinen der Werte geändert haben, sieht dies folgendermaßen aus:

Sie können Ihre Grafiken anzeigen, indem Sie links im Menü navigieren. Beachten Sie die Optionen * Targets * und * Multi Targets * im Menü. Dies sind die Ziele, die wir in https://www.digitalocean.com/community/tutorials/how-to-track-network-latency-with-smokeping-on-freebsd-11#step-5-%E2%80% definiert haben. 94-Verbinden-und-Aktivieren-der-Dienste [Schritt 5].

Klicken Sie auf * Ziele *. Sie sehen die ersten beiden von uns definierten Diagramme, eines für jeden Spiegelserver. Links sehen Sie die verschachtelte Liste der Ziele, die unsere Konfigurationsdatei widerspiegelt.

Klicken Sie anschließend auf * Multi Targets *. Hier sehen Sie das kombinierte Diagramm.

Wenn Sie auf Probleme stoßen, können Sie die Protokolle überprüfen, um Hilfe bei der Diagnose des Problems zu erhalten. Apache zeichnet seine Protokolle in zwei Dateien auf: "+ / var / log / httpd-access.log " und " / var / log / httpd-error.log ". SmokePing hat eine Protokolldatei, nämlich " / var / log / smokeping.log ". Denken Sie daran, dass Sie, wenn Sie die SmokePing-Konfiguration ändern, den Daemon mit ` sudo service smokeping reload +` neu laden müssen.

Fazit

In diesem Tutorial haben Sie SmokePing mit Apache eingerichtet und einige Beispielprüfungen erstellt, um die Protokollierung und grafische Darstellung zu testen. Von hier aus können Sie Ihre Sonden und Diagramme nach Ihren Wünschen anpassen. SmokePing bietet viele andere Funktionen, wie z. B. Slaves, Warnungen und Unterstützung für Ihren eigenen Mailserver. Weitere Informationen finden Sie unter SmokePings offizielle Dokumentation.