Overvågning | Farm Guardian | Opdatering

SLAGT DEN 3. maj 2022

Som standard ZEVENET apparatet kører simple sundhedstjek til backends eller rigtige servere, men nogle gange er disse kontroller ikke nok til at afgøre, om backends fungerer korrekt eller ej. Derfor udfører og administrerer apparatet avancerede sundhedstjek via en dæmon, der bruger et sæt plugins kaldet Farmguardian.

Den vigtigste opgave for Farmguardian skal fungere som et avanceret overvågningsværktøj til applikationers backends. Så, Farmguardian læser farm-konfigurationen og henter backend-listen og bliver hjulpet af plugins, der kontrollerer backend-sundhedsstatus. Farm Guardian opdaterer også backend-statussen for en given farm og bestemmer, om load balanceren skal sende trafik til denne backend.

I dette afsnit lærer du, hvordan du konfigurerer farmguardian checks. Vi vil udforske begge faner, den Global Gårde fane.

Globale indstillinger

Global afsnit, er der indstillinger for visse farmguardian sundhedstjek som vist på billedet nedenfor.

Felterne på denne fane kan ikke redigeres, hvis kontrollen er forudindlæst i systemet. Hvis du ønsker at ændre et sundhedstjek, skal du oprette et nyt farmguardian, aktiver Kopier farmguardian mulighed, og rediger en ny.

Navn. Dette identifikationsnavn for den aktuelle Farm Guardian-check kan ikke redigeres.
Kommando. Indstiller den udførte kommando for at kontrollere status for backend.
Timeout. Den højeste tid for backend at sende et svar tilbage. Enheder (sekunder).
Interval. Tid mellem sundhedstjek batches mod alle backends. Bemærk, at ved hvert interval stopper farmguardian-kontrollen og genstartes. Så den skal være høj nok, så den kan kontrollere alle backends ( timeout * nº backends +1 ).
Beskrivelse. Dette felt indeholder en kort beskrivelse af Farmguardian-kontrollen.
Cut Connections. Når denne indstilling er aktiveret, bliver de aktuelle forbindelser for de registrerede backends, der er nede, tømt, hvilket tvinger en øjeblikkelig genforbindelse til de tilgængelige backends. Hvis deaktiveret, vil de nuværende forbindelser blive drænet uden at afbryde nogen klient.
Aktiver logfiler. Aktiverer eller deaktiverer logfilerne for hver gårdværgekontrol. Med logs deaktiveret, vil kun backend-statusændringerne blive vist i logfilerne.

Konfigurer helbredsundersøgelser

Alle tilgængelige farmguardian plugins kan findes under mappen / Usr / local / zevenet / app / libexec / inde i lastbalanceren.

Farmguardian bruger plugins til at konfigurere avancerede sundhedstjek for at opdage, om en bestemt rigtig server fungerer som forventet ved hjælp af tilpassede muligheder. Der er en masse sundhedstjek for hver protokol, tjeneste eller applikation. De vigtigste plugins er beskrevet nedenfor.

check_ftp. Dette plugin tester FTP-forbindelser med den angivne vært.

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: Denne plugin bruger fping-kommandoen til at pinge den angivne vært for en hurtig check.

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

check_http: Dette plugin tester HTTP-tjenesten på den angivne vært. Det kan teste almindelige (HTTP) og sikre (HTTPS) protokoller, følge omdirigeringer, søge efter strenge og regulære udtryk, kontrollere forbindelsestider og rapportere om certifikatudløbstider, HTTP-returkoder osv.

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: Denne plugin tester IMAP-forbindelser med den angivne vært.

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: Denne plugin tester LDAP-tjenester. Det kan testes med en given søgning.

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: Denne plugin test LDAPS tjenester. Det kan testes med en given søgning.

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: Denne plugin tester forbindelser til en 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: Dette plugin kontrollerer et forespørgselsresultat mod tærskelværdier.

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: Test, om en PostgreSQL-database accepterer forbindelser.

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: Denne plugin tester POP-forbindelser med den angivne vært.

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: Test for at se, om en RADIUS-server accepterer forbindelser.

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: Dette plugin tester sikre IMAP-forbindelser med den specificerede vært.

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: Denne plugin vil forsøge at åbne en SMTP-forbindelse med værten.

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: Kontroller status for fjernmaskiner og få systemoplysninger via 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: Denne plugin-test sikrer POP-forbindelser med den angivne vært.

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: Prøv at oprette forbindelse til en SSH-server på en bestemt server og port.

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

check_ssmtp: Denne plugin tester SSMTP-forbindelser med den angivne vært.

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: Denne plugin tester TCP-forbindelser med den angivne vært.

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]

For yderligere information, udfør følgende kommando under plugin-stien:

plugin_name --help

Farmguardian vil bruge disse plugins til at kontrollere tilstanden for backends og vil administrere udførelsesfejloutputtet for det udførte plugin for at bestemme backend-statussen som følger:

Hvis fejlen output == 0 så er backend OK> $? = 0
Hvis fejlen output <> 0 så er backend IKKE OK> $? <> 0

Brugerdefineret plugin

Sysadmins kan konfigurere disse plugins, da de er fuldt programmerbare og kan tilpasses til enhver protokol eller applikation.

Dette eksempel viser et brugerdefineret 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

Konstanter

Hvornår Farmguardian udfører et plugin, kan det bruge nogle konstanter eller tokens som argumenter, som:

HOST. Farmguardian vil tage sig af at ændre denne konstant af den rigtige server IP-adresse.
PORT. Farmguardian vil tage sig af at ændre denne konstant af den rigtige serverport.

Disse konstanter vil blive brugt for hvert plugin. Farmguardian vil bruge dem til at køre sundhedstjekket med rigtige parametre på plads.

Gårde

På denne fane er der en liste over gårde og tjenester, der bruger dette Farmguardian sundhedstjek.

Gårde og tjenester kan tildeles eller fjernes fra dette Farmguardian sundhedstjek ved hjælp af flere valg med enkelte pileikoner eller dobbeltpile for at aktivere eller deaktivere alle gårde.

Del på:

Dokumentation i henhold til GNU Free Documentation License.

Var denne artikel til hjælp?

Relaterede artikler