LSLB | Gårde | Opdatering | Farm Guardian

SLAGT DEN 2. oktober 2017

Oversigt

Som standard Zevenet kører simpel sundhedskontrol til backends eller ægte servere, men nogle gange er denne check ikke nok til at bestemme, at 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 Farm Guardian.

Landmæglerens hovedopgave er at arbejde som en avanceret overvågning af applikationer, for dette læser gårdkonsulent gårdskonfigurationen og får listen over backend og hjælper med et plugin til at kontrollere baggrundsstatusen, opdaterer Farm Guardian backend status for givet gård tillader eller ikke tillader Zen Load Balancer at sende forbindelser på sådan backend.

De brugte plugins af Farm Guardian findes under mappen / Usr / local / zenloadbalancer / app / libexec / .

Farm Guardian Configuration

Sundhedschecks til backend. Afkrydsning af denne boks giver mulighed for en mere avanceret overvågningstilstand til backends og helt programmerbar med dine egne scripts. Når en forkert opførsel opdages af Farm Guardian, deaktiveres den egentlige server automatisk og vil blive markeret som FGdown. Dette er en selvstændig service, så du ikke behøver at genstarte gården.

zevenet lslb lb adc farm vogter sundhedskontrol

Tid mellem checks. Dette er antallet af sekunder, som gårdspolisen vil vente med at udføre sundhedskontrollen.
Kommando at tjekke. Kommandoen skal udføres til mod de konfigurerede backends. Konstanter eller tokens bruges til at give dynamisk konfiguration.
Farm Guardian Logs. Denne afkrydsningsfelt gør det muligt for gårdsbevægelsens logfiler at debugge en vis adfærd, selvom det kan bruge meget opbevaring.

plugins

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.
check_fping: Denne plugin bruger fping-kommandoen til at pinge den angivne vært for en hurtig check.
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.
check_imap: Denne plugin tester IMAP-forbindelser med den angivne vært.
check_ldap: Denne plugin tester LDAP-tjenester. Det kan testes med en given søgning.
check_ldaps: Denne plugin test LDAPS tjenester. Det kan testes med en given søgning.
check_mysql: Denne plugin tester forbindelser til en MySQL-server.
check_mysql_query: Dette plugin kontrollerer et forespørgselsresultat mod tærskelværdier.
check_pgsql: Test, om en PostgreSQL-database accepterer forbindelser.
check_pop: Denne plugin tester POP-forbindelser med den angivne vært.
check_radius: Test for at se, om en RADIUS-server accepterer forbindelser.
check_simap: Denne plugin-test sikrer IMAP-forbindelser med den angivne vært
check_smtp: Denne plugin vil forsøge at åbne en SMTP-forbindelse med værten.
check_snmp: Kontrollér status for fjernmaskiner og få systemoplysninger via SNMP.
check_spop: Denne plugin-test sikrer POP-forbindelser med den angivne vært.
check_ssh: Prøv at oprette forbindelse til en SSH-server på en bestemt server og port.
check_ssmtp: Denne plugin tester SSMTP-forbindelser med den angivne vært.
check_tcp: Denne plugin tester TCP-forbindelser med den angivne vært.

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 Farm Guardian udfører et plugin, kan det bruge nogle konstanter eller tokens som argumenter som:

  • HOST: Farm Guardian vil tage sig af at ændre denne konstant ved hjælp af den ægte server IP-adresse.
  • PORT: Farm Guardian vil tage sig af at ændre denne konstant af den ægte serverport.

Disse konstanter kan bruges til hver plugin, Farm Guardian vil bruge dem til at køre sundhedskontrollen med de rigtige parametre på plads.

Eksempel

Det næste eksempel beskriver en avanceret HTTP-sundhedskontrol for webtjenester. En almindelig fejl er, at applikationsservere viser tomme sider, men 8080-porten accepterer stadig HTTP-anmodninger.

For en HTTP-bedrift bedes du konfigurere den næste i Farm Guardian-sektionen for hver tjeneste:

check_http_fg_example

Farm Guardian vil udføre check_http plugin for hver backend og erstatter konstanterne HOST PORT ved IP-adressen og porten for hver backend, for hver udførelse returnerer den givne plugin fejlkoden 0, hvis "Welcome" -strengen findes i indholdet af index.php. I tilfælde af at "Velkommen" -strengen ikke findes, markeres denne backend som DOWN.

For yderligere information vedrørende konfiguration af Farm Guardian henvises til Farm Guardian konfigurationsguide.

Farm Guardian logs kan aktiveres, selvom det kan bruge meget diskplads og det sparer logfilerne i stien /usr/local/zenloadbalancer/config/[_service]_farmguardian.log or / Var / log / syslog i de mest opdaterede Zevenet versioner.

Del på:

Dokumentation i henhold til GNU Free Documentation License.

Var denne artikel til hjælp?

Relaterede artikler