Indhold
Som standard ZEVENET kører grundlæggende sundhedstjek på backends eller rigtige servere, men nogle gange er disse kontroller ikke nok til at afgøre, om backends fungerer korrekt eller ej. Af denne grund implementerer ZEVENET en tjeneste kaldet Farmguardian at der udfører og administrerer avancerede sundhedstjek.
Formålet med Farmguardian skal fungere som et avanceret overvågningsværktøj til backends applikationsservere. Farmguardian udfører dette ved at læse konfigurationer og hente listen over backends ved hjælp af plugins, der kontrollerer sundhedsstatus for hver backend. Farmguardian opdaterer også backend-statussen for hver farm og bestemmer, om load balanceren skal sende trafik til denne backend.
I dette afsnit lærer du, hvordan du konfigurerer farmguardian kontroller ved hjælp af både Global indstillinger og indstillinger inden for en Farm.
Globale indstillinger
Inden for Global sektion, dette er indstillingerne for Farmguardian.
På fanen Global kan felterne ikke redigeres, hvis checks er forudindlæst i systemet. Hvis du vil ændre et sundhedstjek, skal du oprette et nyt farmguardian, aktiver Kopier farmguardian og ændre den nye.
Navn. Identifikationsnavnet på den aktuelle Farmguardian-check kan ikke redigeres.
Kommando. Indstil den udførte kommando for at kontrollere backends status.
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 hver intervaltid stopper farmguardian-tjekket og genstartes, så det skal være højt nok, så det kan tjekke 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 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 farmagardkontrol. Med logfiler er deaktiveret, vises statusændringerne for backend i logfilerne.
Backend alias. Et navn, der nemt identificerer grænsefladen af backend.
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 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
Disse plugins kan konfigureres og fuldt programmeres af sysadmins til 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
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 kan bruges til hvert plugin, Farmguardian vil bruge dem til at køre sundhedstjekket med de 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.