Überwachung | Farm Guardian | Aktualisieren

GESCHRIEBEN VON Zevenet | 15. Januar 2019

Standardmäßig Zevenet führt einfache Integritätsprüfungen für die Backends oder realen Server in HTTP-Farmen 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 fortschrittliches Überwachungstool für Anwendungen zu arbeiten. Dazu liest Farm Guardian die Farmkonfiguration und ruft die Backend-Liste ab. Mit Hilfe eines Plugins wird der Backend-Status überprüft. Farm Guardian aktualisiert den Backend-Status für die angegebene Farm erlaubt oder nicht zulässt, dass der Load Balancer Datenverkehr an ein solches Backend sendet.

In diesem Abschnitt können Sie die Farmguardian-Prüfung konfigurieren. Sie können zwei Abschnitte sehen Globale Farms.

Globale Einstellungen

Im Abschnitt "Global" finden Sie die Einstellungen für die Gesundheitsprüfung einer bestimmten Farmguardian-Gesundheitsprüfung, wie unten gezeigt.
Die Felder dieses Abschnitts können nicht bearbeitet werden, wenn die Prüfung im System vorkonfiguriert ist. Wenn Sie die Prüfung ändern möchten, sollten Sie die Option Erstellen einer neuen Farmguardian-Prüfung erstellen, indem Sie den Kopierparameter mit dem gewünschten Prüfnamen hinzufügen und die neue ändern.

  • Name. Identifizierungsname der aktuellen Farm Guardian-Prüfung.
  • Produktbeschreibung. Dieses Feld enthält eine Beschreibung der Prüfung.
  • Befehl. Prüfen Sie regelmäßig, ob Befehle und Parameter gegen jedes Backend ausgeführt werden.
  • Intervall. Zeit in Sekunden zwischen Zustandsüberprüfungs-Batches gegen alle Backends.
  • Verbindungen trennen. Wenn diese Option aktiviert ist, werden die aktuellen Verbindungen des erkannten Down-Backends geleert, wodurch eine sofortige Verbindung zu einem verfügbaren Backend erzwungen wird. Wenn diese Option deaktiviert ist, werden die aktuellen Verbindungen getrennt, ohne dass Benutzer getrennt werden.
  • Logs. Aktiviert oder deaktiviert die Protokolle aller Health Checks von Farm Guardian. Bei deaktivierten Protokollen werden nur die Statusänderungen des Backends in den Protokolldateien angezeigt.

Integritätsprüfungen konfigurieren

Die verwendeten Plugins von Farm Guardian finden Sie im Verzeichnis / usr / lib / nagios / 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.

Usage:
check_ftp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_fping: Dieses Plugin verwendet den Befehl fping, um den angegebenen Host für eine schnelle Überprüfung zu pingen.

Usage:
 check_fping <host_address> -w limit -c limit [-b size] [-n number] [-T number] [-i number]

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.

Usage:
 check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
       [-J <client certificate file>] [-K <private key>]
       [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth]
       [-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]
       [-e <expect>] [-d string] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]
       [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]
       [-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]]
       [-T <content-type>] [-j method]

check_imap: Dieses Plugin testet IMAP-Verbindungen mit dem angegebenen Host.

Usage:
check_imap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ldap: Dieses Plugin testet LDAP-Dienste. Es kann mit einer gegebenen Suche getestet werden.

Usage:
 check_ldap -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_ldaps: Dieses Plugin testet LDAPS-Dienste. Es kann mit einer gegebenen Suche getestet werden.

Usage:
 check_ldaps -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_mysql: Dieses Plugin testet Verbindungen zu einem MySQL-Server.

Usage:
 check_mysql [-d database] [-H host] [-P port] [-s socket]
       [-u user] [-p password] [-S] [-l] [-a cert] [-k key]
       [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]

check_mysql_query: Dieses Plugin überprüft ein Abfrageergebnis anhand von Schwellenwerten.

Usage:
 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: Testen Sie, ob eine PostgreSQL-Datenbank Verbindungen akzeptiert.

Usage:
check_pgsql [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>]
 [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>]
[-q <query>] [-C <critical query range>] [-W <warning query range>]

check_pop: Dieses Plugin testet POP-Verbindungen mit dem angegebenen Host.

Usage:
check_pop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_radius: Testet, ob ein RADIUS-Server Verbindungen akzeptiert.

Usage:
check_radius -H host -F config_file -u username -p password
			[-P port] [-t timeout] [-r retries] [-e expect]
			[-n nas-id] [-N nas-ip-addr]

check_simap: Dieses Plugin testet sichere IMAP-Verbindungen mit dem angegebenen Host.

Usage:
check_simap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_smtp: Dieses Plugin versucht, eine SMTP-Verbindung mit dem Host herzustellen.

Usage:
check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr]
[-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q]
[-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v] 

check_snmp: Überprüfen Sie den Status von Remote-Computern und erhalten Sie Systeminformationen über SNMP.

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]

check_spop: Dieses Plugin testet sichere POP-Verbindungen mit dem angegebenen Host.

Usage:
check_spop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ssh: Versuchen Sie, eine Verbindung zu einem SSH-Server am angegebenen Server und Port herzustellen.

Usage:
check_ssh  [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

check_ssmtp: Dieses Plugin testet SSMTP-Verbindungen mit dem angegebenen Host.

Usage:
check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_tcp: Dieses Plugin testet TCP-Verbindungen mit dem angegebenen Host.

Usage:
check_tcp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

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

plugin_name --help

Farm Guardian überprüft anhand dieser Plugins den Integritätsstatus der Backends und verwaltet die Ausführungsfehlerausgabe des ausgeführten Plugins, um den Backend-Status wie folgt festzulegen:

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.

Farms

In diesem Abschnitt finden Sie eine Liste der Farmen und Dienste, die diesen Farm Guardian-Zustandscheck verwenden.

Farmen und Dienstleistungen können von diesem Farm Guardian-Gesundheitscheck getrennt werden, indem Sie auf das Papierkorbsymbol klicken.

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel