LSLB | Bauernhöfe | Update | Farm Guardian

GESCHRIEBEN VON Zevenet | 2. Oktober 2017

Übersicht

Standardmäßig Zevenet führt einfache Integritätsprüfungen für die Backends oder realen Server aus, aber manchmal reicht diese Prüfung nicht aus, um festzustellen, ob die Backends ordnungsgemäß funktionieren. Aus diesem Grund implementiert Zevenet einen Dienst, der erweiterte Statusprüfungen über einen Dämon, der aufgerufene Plugins verwendet, ausführt und verwaltet Farm Guardian.

Die Hauptaufgabe von Farm Guardian besteht darin, als fortgeschrittene Überwachung für Anwendungen zu arbeiten. Dazu liest Farm Guardian die Farmkonfiguration und ruft die Backend-Liste ab. Mithilfe eines Plugins kann der Backend-Status überprüft werden. In diesem Fall aktualisiert Farm Guardian den Backend-Status für Bei gegebener Farm kann Zen Load Balancer an diesem Backend keine Verbindungen senden.

Die verwendeten Plugins von Farm Guardian finden Sie im Verzeichnis / usr / local / zenloadbalancer / app / libexec / .

Farm Guardian-Konfiguration

Health Checks für das Backend. Wenn Sie dieses Kontrollkästchen aktivieren, wird ein erweiterter Überwachungsstatus für Backends ermöglicht, der vollständig mit Ihren eigenen Skripts programmiert werden kann. Wenn Farm Guardian ein falsches Verhalten erkennt, wird der echte Server automatisch deaktiviert und als gekennzeichnet FGdown. Dies ist ein unabhängiger Dienst, sodass Sie den Farmdienst nicht neu starten müssen.

zevenet lslb lb adc farm guardian gesundheitscheck

Zeit zwischen den Prüfungen. Dies ist die Anzahl von Sekunden, die der Farm Guardian wartet, um die Zustandsprüfung durchzuführen.
Befehl zum Überprüfen. Befehl, der gegen die konfigurierten Backends ausgeführt werden soll. Konstanten oder Token werden verwendet, um eine dynamische Konfiguration bereitzustellen.
Farm Guardian Logs. Mit diesem Kontrollkästchen können die Farm Guardian-Protokolle ein Verhalten debuggen, obwohl dies viel Speicherplatz beanspruchen kann.

WordPress Plugins

Farm Guardian verwendet Plugins, um erweiterte Integritätsprüfungen zu konfigurieren, um mithilfe von benutzerdefinierten Optionen zu ermitteln, ob ein bestimmter Server wie erwartet funktioniert. Es gibt viele Gesundheitschecks für jede Art von Protokoll, Service oder Anwendung. Die wichtigsten Plugins werden im Folgenden beschrieben.

check_ftp: Dieses Plugin testet FTP-Verbindungen mit dem angegebenen Host.
check_fping: Dieses Plugin verwendet den Befehl fping, um den angegebenen Host für eine schnelle Überprüfung zu pingen.
check_http: Dieses Plugin testet den HTTP-Dienst auf dem angegebenen Host. Es kann einfache (HTTP) und sichere (HTTPS) Protokolle testen, Umleitungen folgen, nach Zeichenfolgen und regulären Ausdrücken suchen, Verbindungszeiten prüfen und Berichte über Ablaufzeiten von Zertifikaten, HTTP-Rückkehrcodes usw. erstellen.
check_imap: Dieses Plugin testet IMAP-Verbindungen mit dem angegebenen Host.
check_ldap: Dieses Plugin testet LDAP-Dienste. Es kann mit einer gegebenen Suche getestet werden.
check_ldaps: Dieses Plugin testet LDAPS-Dienste. Es kann mit einer gegebenen Suche getestet werden.
check_mysql: Dieses Plugin testet Verbindungen zu einem MySQL-Server.
check_mysql_query: Dieses Plugin überprüft ein Abfrageergebnis anhand von Schwellenwerten.
check_pgsql: Testen Sie, ob eine PostgreSQL-Datenbank Verbindungen akzeptiert.
check_pop: Dieses Plugin testet POP-Verbindungen mit dem angegebenen Host.
check_radius: Testet, ob ein RADIUS-Server Verbindungen akzeptiert.
check_simap: Dieses Plugin testet sichere IMAP-Verbindungen mit dem angegebenen Host
check_smtp: Dieses Plugin versucht, eine SMTP-Verbindung mit dem Host herzustellen.
check_snmp: Überprüfen Sie den Status von Remote-Computern und rufen Sie Systeminformationen über SNMP ab.
check_spop: Dieses Plugin testet sichere POP-Verbindungen mit dem angegebenen Host.
check_ssh: Versuchen Sie, eine Verbindung zu einem SSH-Server am angegebenen Server und Port herzustellen.
check_ssmtp: Dieses Plugin testet SSMTP-Verbindungen mit dem angegebenen Host.
check_tcp: Dieses Plugin testet TCP-Verbindungen mit dem angegebenen Host.

Um weitere Informationen zu erhalten, führen Sie den folgenden Befehl unter dem Plugins-Pfad aus:

plugin_name --help

Farm Guardian verwendet diese Plugins, um den Integritätsstatus der Backends zu überprüfen, und verwaltet die Ausführungsfehlerausgabe des ausgeführten Plugins zur Bestimmung des Backend-Status wie folgt:

Wenn der Fehler Ausgabe == 0 dann ist das Backend OK> $? = 0

Wenn der Fehler Ausgabe <> 0 dann ist das Backend NICHT OK> $? <> 0

Benutzerdefiniertes Plugin

Diese Plugins können von sysadmins konfiguriert und vollständig programmiert werden, um sie an jedes Protokoll oder jede Anwendung anzupassen.

Dieses Beispiel zeigt ein benutzerdefiniertes Plugin check_load.sh.

#!/bin/bash
###
###comments:
###snmp utils should be installed
###snmpd should be installed and configured in the backends
###
MAXVALUE=4
COMMUNITY="public"
EXECUTE=`snmpget -v 2c -c $COMMUNITY $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | cut -d '.' -f1 | sed s/\ // | sed s/\"//`

echo "SNMP CPU load check for $1 is $EXECUTE"
# If the result is true, exit with 1; error; else exit = 0; OK
if (( $EXECUTE >= $MAXVALUE )); then
#error output; the server is overloaded and the load balancer isn’t going to send more connections
exit 1
else
#not error; the server can accept more connections
exit 0
fi

Konstante

Wenn Farm Guardian ein Plugin ausführt, kann es einige Konstanten oder Token als Argumente verwenden, wie:

  • HOST: Farm Guardian sorgt dafür, dass diese Konstante anhand der tatsächlichen Server-IP-Adresse geändert wird.
  • PORT: Farm Guardian kümmert sich um die Änderung dieser Konstante am realen Serverport.

Diese Konstanten können für jedes Plugin verwendet werden. Farm Guardian verwendet sie, um den Health Check mit den tatsächlichen Parametern auszuführen.

Beispiel

Das nächste Beispiel beschreibt eine erweiterte HTTP-Integritätsprüfung für Webdienste. Ein häufiger Fehler ist, dass die Anwendungsserver leere Seiten anzeigen, der 8080-Port jedoch weiterhin HTTP-Anforderungen akzeptiert.

Für eine HTTP-Farm konfigurieren Sie bitte die nächste im Farm Guardian-Bereich jedes Dienstes:

check_http_fg_example

Farm Guardian wird das ausführen check_http Plugin für jedes Backend und ersetzt die Konstanten HOST und PORT Durch die IP-Adresse und den Port für jedes Backend gibt das angegebene Plugin für jede Ausführung den Fehlercode 0 zurück, wenn die Zeichenfolge 'Welcome' im Inhalt der index.php gefunden wird. Falls die Zeichenfolge 'Welcome' nicht gefunden wird, wird dieses Backend als DOWN gekennzeichnet.

Weitere Informationen zur Konfiguration von Farm Guardian finden Sie unter Farm Guardian Konfigurationsanleitung.

Farm Guardian-Protokolle können aktiviert werden, obwohl dies viel Speicherplatz beanspruchen kann und die Protokolle im Pfad gespeichert werden /usr/local/zenloadbalancer/config/[_service(_farmguardian.log or / var / log / syslog in den aktuellsten Zevenet-Versionen.

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel