Standardmäßig führt Relianoid grundlegende Integritätsprüfungen auf den Backend- oder Serverumgebungen durch. Manchmal reichen diese Prüfungen jedoch nicht aus, um festzustellen, ob die Backend-Systeme ordnungsgemäß funktionieren. Aus diesem Grund implementiert Relianoid den Dienst Farmguardian , der erweiterte Integritätsprüfungen durchführt und verwaltet.
Farmguardian dient als fortschrittliches Überwachungstool für Backend-Anwendungsserver. Dazu liest Farmguardian Konfigurationen aus und ermittelt mithilfe von Plugins, die den Zustand jedes Backends überprüfen, die Liste der Backends. Farmguardian aktualisiert außerdem den Backend-Status für jede Farm und entscheidet, ob der Load Balancer den Datenverkehr an das jeweilige Backend weiterleiten soll.
In diesem Abschnitt erfahren Sie, wie Sie die FarmGuardian -Prüfungen sowohl über die globalen Einstellungen als auch über die Einstellungen innerhalb einer Farm konfigurieren.
Globale Einstellungen #
Im Abschnitt „Global“ finden Sie die Einstellungen für Farmguardian.
Im globalen Reiter können die Felder nicht bearbeitet werden, wenn die Prüfungen im System vorinstalliert sind. Um eine Integritätsprüfung zu ändern, müssen Sie einen neuen FarmGuardian erstellen, die Option „FarmGuardian kopieren“ aktivieren und den neuen FarmGuardian bearbeiten.
NameDer Identifikationsname der aktuellen Farmguardian-Prüfung kann nicht bearbeitet werden.
Befehl. Legen Sie den ausgeführten Befehl fest, um den Status des Backends zu überprüfen.
Timeout. Die längste Zeit, die das Backend benötigt, um eine Antwort zurückzusenden. Einheiten (Sekunden).
Intervall. Zeit zwischen den Integritätsprüfungsstapeln für alle Backends. Beachten Sie, dass die Farmguardian-Prüfung nach jedem Intervall angehalten und neu gestartet wird. Daher muss die Zeit hoch genug sein, damit alle Backends überprüft werden können (Timeout * Anzahl Backends +1).
BeschreibungDieses Feld enthält eine kurze Beschreibung der Farmguardian-Prüfung.
Verbindungen trennenWenn diese Option aktiviert ist, werden die aktuellen Verbindungen der erkannten ausgefallenen Backends gelöscht. Dadurch wird eine sofortige Wiederherstellung der Verbindung zu verfügbaren Backends erzwungen. Wenn diese Option deaktiviert ist, werden die aktuellen Verbindungen gelöscht, ohne dass die Verbindung zu einem Client getrennt wird.
Aktivieren von ProtokollenAktiviert oder deaktiviert die Protokolle aller Farmguardian-Prüfungen. Bei deaktivierten Protokollen werden nur die Änderungen des Backend-Status in den Protokolldateien angezeigt.
Backend-Alias. Ein Name, der die Schnittstelle des Backends leicht identifiziert.
Konfigurieren von Integritätsprüfungen #
Alle verfügbaren FarmGuardian- Plugins befinden sich im Verzeichnis /usr/local/zevenet/app/libexec/ innerhalb des Load Balancers.
Farmguardian verwendet Plugins, um erweiterte Integritätsprüfungen zu konfigurieren und so zu erkennen, ob ein bestimmter Server wie erwartet funktioniert. Dabei werden benutzerdefinierte Optionen angewendet. Für jedes Protokoll, jeden Dienst und jede Anwendung stehen zahlreiche Integritätsprüfungen zur Verfügung. Die wichtigsten Plugins werden im Folgenden beschrieben.
check_ftp . Dieses Plugin testet FTP-Verbindungen mit dem angegebenen Host.
Verwendung: check_ftp -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping : Dieses Plugin verwendet den fping-Befehl, um den angegebenen Host für eine schnelle Überprüfung anzupingen.
Verwendung: check_fping -w Limit -c Limit [-b Größe] [-n Zahl] [-T Zahl] [-i Zahl]
check_http : Dieses Plugin testet den HTTP-Dienst auf dem angegebenen Host. Es kann unverschlüsselte (HTTP) und verschlüsselte (HTTPS) Protokolle testen, Weiterleitungen folgen, nach Zeichenketten und regulären Ausdrücken suchen, Verbindungszeiten überprüfen und Informationen zu Zertifikatsablaufzeiten, HTTP-Rückgabecodes usw. ausgeben.
Verwendung: check_http -H | -ICH [-u ] [-P ] [-J ] [-K ] [-w ] [-C ] [-T ] [-L] [-E] [-a Authentifizierung] [-b Proxy-Authentifizierung] [-f ] [-e ] [-d Zeichenfolge] [-s Zeichenfolge] [-l] [-r | -R ] [-P Zeichenfolge] [-m : ] [-4|-6] [-N] [-M ] [-A Zeichenfolge] [-k Zeichenfolge] [-S ] [--sni] [-C [, ]] [-T ] [-j Methode]
check_imap : Dieses Plugin testet IMAP-Verbindungen mit dem angegebenen Host.
Verwendung: check_imap -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : Dieses Plugin testet LDAP-Dienste. Es kann mit einer vorgegebenen Suche getestet werden.
Verwendung: check_ldap -H -B [-P ] [-A ] [-D ] [-P ] [-w ] [-C ] [-t Zeitüberschreitung] [-2|-3] [-4|-6]
check_ldaps : Dieses Plugin testet LDAPS-Dienste. Es kann mit einer vorgegebenen Suche getestet werden.
Verwendung: check_ldaps -H -B [-P ] [-A ] [-D ] [-P ] [-w ] [-C ] [-t Zeitüberschreitung] [-2|-3] [-4|-6]
check_mysql : Dieses Plugin testet Verbindungen zu einem MySQL-Server.
Verwendung: check_mysql [-d Datenbank] [-H Host] [-P Port] [-s Socket] [-u Benutzer] [-p Passwort] [-S] [-l] [-a Zertifikat] [-k Schlüssel] [-C CA-Zertifikat] [-D CA-Verzeichnis] [-L Chiffren] [-f Optfile] [-g Gruppe]
check_mysql_query : Dieses Plugin prüft das Ergebnis einer Abfrage anhand von Schwellenwerten.
Verwendung: check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket] [-d database] [-u user] [-p password] [-f optfile] [-g group]
check_pgsql : Testet, ob eine PostgreSQL-Datenbank Verbindungen akzeptiert.
Verwendung: check_pgsql [-H ] [-P ] [-C ] [-w ] [-T ] [-D ] [-l ] [-P ] [-Q ] [-C ] [-W ]
check_pop : Dieses Plugin testet POP-Verbindungen mit dem angegebenen Host.
Verwendung: check_pop -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : Testet, ob ein RADIUS-Server Verbindungen akzeptiert.
Verwendung: check_radius -H Host -F Konfigurationsdatei -u Benutzername -p Passwort [-P Port] [-t Timeout] [-r Wiederholungen] [-e Erwartet] [-n NAS-ID] [-N NAS-IP-Adresse]
check_simap : Dieses Plugin testet sichere IMAP-Verbindungen mit dem angegebenen Host.
Verwendung: check_simap -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : Dieses Plugin versucht, eine SMTP-Verbindung zum Host herzustellen.
Verwendung: check_smtp -H Host [-p Port] [-4|-6] [-e erwarten] [-C Befehl] [-R Antwort] [-f von Adresse] [-A Authtyp -U Authuser -P Authpass] [-w warnen] [-c crit] [-t Timeout] [-q] [-F fqdn] [-S] [-D warnen Tage Zertifikat läuft ab[,crit Tage Zertifikat läuft ab]] [-v]
check_snmp : Überprüft den Status von Remote-Rechnern und erhält Systeminformationen via SNMP.
Verwendung: check_snmp -H -Ö [-w Warnbereich] [-c Kritbereich] [-C Community] [-s Zeichenfolge] [-r regulärer Ausdruck] [-R regexi] [-t Zeitüberschreitung] [-e Wiederholungen] [-l Bezeichnung] [-u Einheiten] [-p Portnummer] [-d Trennzeichen] [-D Ausgabetrennzeichen] [-m Miblist] [-P SNMP-Version] [-N Kontext] [-L Sicherheitsebene] [-U Sicherheitsname] [-a Auth-Protokoll] [-A Auth-Passwort] [-x Privatprotokoll] [-X Privatpasswort] [-4|6]
check_spop : Dieses Plugin testet sichere POP-Verbindungen mit dem angegebenen Host.
Verwendung: check_spop -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh : Versuche, eine Verbindung zu einem SSH-Server auf dem angegebenen Server und Port herzustellen.
Verwendung: check_ssh [-4|-6] [-t ] [-R ] [-P ]
check_ssmtp : Dieses Plugin testet SSMTP-Verbindungen mit dem angegebenen Host.
Verwendung: check_ssmtp -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : Dieses Plugin testet TCP-Verbindungen mit dem angegebenen Host.
Verwendung: check_tcp -H Host -p Port [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Für weitere Informationen führen Sie den folgenden Befehl unter dem Plugin-Pfad aus:
Plugin-Name --help
Farmguardian verwendet diese Plugins, um den Gesundheitszustand der Backends zu überprüfen und die Ausgabe von Ausführungsfehlern des ausgeführten Plugins zu verwalten, um den Backend-Status wie folgt zu bestimmen:
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 Systemadministratoren 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 ### ###Kommentare: ###SNMP-Dienstprogramme sollten installiert sein. ###SNMPd sollte installiert und in den Backends konfiguriert sein. ### 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-Auslastungsprüfung für $1 ist $EXECUTE" # Wenn das Ergebnis wahr ist, beenden Sie mit 1; Fehler; sonst exit = 0; OK if (( $EXECUTE >= $MAXVALUE )); dann #Fehlerausgabe; der Server ist überlastet und der Load Balancer sendet keine weiteren Verbindungen exit 1 sonst #, kein Fehler; der Server kann weitere Verbindungen akzeptieren exit 0 fi
Konstante #
Wenn Farmguardian ein Plugin ausführt, kann es Konstanten oder Token als Argumente verwenden, wie zum Beispiel:
HOST. Bauernwächter kümmert sich darum, diese Konstante durch die echte Server-IP-Adresse zu ändern.
PORT. Bauernwächter kümmert sich darum, diese Konstante durch den tatsächlichen Server-Port zu ändern.
Diese Konstanten können für jedes Plugin verwendet werden; Farmguardian nutzt sie, um den Health Check mit den tatsächlichen Parametern durchzuführen.
Farms #
Auf diesem Tab finden Sie eine Liste der Farmen und Dienstleistungen, die diesen Farmguardian -Gesundheitscheck verwenden.
Farmen und Dienste können über diese Farmguardian -Gesundheitsprüfung mithilfe mehrerer Auswahlen mit einfachen Pfeilsymbolen oder Doppelpfeilen zum Aktivieren oder Deaktivieren aller Farmen hinzugefügt oder daraus entfernt werden.

