Overvågning | Farmguardians | Opdatering

SENDT AF Zevenet | 15. maj 2019

Som standard Zevenet kører simpel sundhedskontrol til backends eller reelle servere, men nogle gange er denne check ikke nok til at afgøre, om backends fungerer korrekt. Af denne grund implementerer Zevenet en service, der udfører og styrer avancerede sundhedskontroller via en dæmon, der bruger plugins kaldet Farmguardian.

Farmguardian har som hovedopgave at arbejde som et avanceret overvågningsværktøj til applikationers backends. Til dette formål læser Farm Guardian gårdens konfiguration og opnår backendlisten og hjælp af et plugin kontrollerer backendens sundhedsstatus, Farm Guardian opdaterer backend status for den givne gård, der administrerer, hvis load balancer skal sende trafik til en sådan backend.

I dette afsnit kan du konfigurere Farmguardian checken. Du kan se to faner Global og Gårde.

Globale indstillinger

I den globale sektion er der indstillinger for sundhedskontrol for visse Farmguardian-sundhedstjek, som det er vist nedenfor.
Feltet på denne fane kan ikke redigeres, hvis tjekket er forudindlæst i systemet. Hvis du vil ændre denne check, skal du oprette en ny Farmguardian, der gør det muligt at kopiere parametret og tilføje den ønskede check som skabelon og ændre den nye.

  • Navn. Identifikationsnavn for den nuværende Farm Guardian check, kan den ikke redigeres.
  • Beskrivelse. Dette felt indeholder en kort beskrivelse af Farmguardian-kontrollen.
  • Kommando. Indstil kommandoen udført for at kontrollere backends status.
  • Interval. Tid i sekunder mellem sundhedskontrolbatcher mod alle backends. Bemærk, at hver intervalltid, farmguard-kontrollen stopper og genstartes, så den skal være høj nok til at kunne kontrollere alle backends (timeout * nº backends + 1)
  • Cut Connections. Når denne indstilling er aktiveret, skylles de aktuelle forbindelser af den registrerede nedre backend, hvilket tvinger en øjeblikkelig genopkobling til en tilgængelig backend. Hvis deaktiveret, vil de aktuelle forbindelser blive drænet uden at afbryde nogen klient.
  • Logs. Aktiverer eller deaktiverer logfilerne for hver farmagardkontrol. Med logfiler er deaktiveret, vises statusændringerne for backend i logfilerne.

Konfigurer helbredsundersøgelser

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

Farm Guardian bruger plugins for at konfigurere avancerede sundhedskontroller for at opdage, om en bestemt reel server fungerer som forventet ved hjælp af tilpassede muligheder. Der er mange sundhedskontroller til enhver form for protokol, service eller anvendelse. De vigtigste plugins er beskrevet nedenfor.

check_ftp: Denne 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: Denne plugin tester HTTP-tjenesten på den angivne vært. Den kan teste plain (HTTP) og sikre (HTTPS) protokoller, følge omdirigeringer, den søger efter strenge og regulære udtryk, kontrollere forbindelsestider og rapportere om udløbstider for certifikater, 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

Farm Guardian vil bruge disse plugins til at kontrollere sundhedstilstanden for backends og vil styre udførelsesfejl output af det udførte plugin for at bestemme backend status som følger:

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

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

Brugerdefineret plugin

Disse plugins kan konfigureres og programmeres fuldt ud af sysadmins for at blive tilpasset 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

Nå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 ved hjælp af den ægte server-IP-adresse.
  • PORT: Farmguardian vil tage sig af at ændre denne konstant ved den ægte serverport.

Disse konstanter kan bruges til alle plugins, Farmguardian vil bruge dem til at køre sundhedskontrollen med de rigtige parametre på plads.

Gårde

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

Gårde og tjenester kan tildeles eller fjernes fra denne Farmguardian sundhedskontrol ved hjælp af flere valg med enkeltpilikoner 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