LSLB | Boerderijen | Update | Farm Guardian

GEPOST DOOR Zevenet | 15 mei 2017

Overzicht

Standaard Zevenet voert eenvoudige statuscontroles uit naar de backends of echte servers, maar soms is deze controle niet genoeg om te bepalen of de backends correct werken. Om deze reden implementeert Zevenet een service die geavanceerde health checks uitvoert en beheert via een daemon die plug-ins gebruikt Farm Guardian.

De hoofdtaak van Farm Guardian is om te werken als een geavanceerde monitoring voor toepassingen, Farm Guardian leest de farm-configuratie voor en verkrijgt de back-endlijst, en geholpen door een plug-in controleert de back-end gezondheidsstatus, Farm Guardian werkt de backend-status bij voor de een gegeven boerderij die de Zen Load Balancer al dan niet toestaat verbindingen met een dergelijke back-end te verzenden.

De gebruikte plug-ins van Farm Guardian zijn te vinden onder de directory / Usr / local / zevenet / app / libexec / .

Farm Guardian-configuratie

Health Checks voor backend. Als u dit selectievakje inschakelt, is een meer geavanceerde bewakingsstatus voor backends mogelijk en volledig programmeerbaar met uw eigen scripts. Wanneer Farm Guardian een verkeerd gedrag detecteert, wordt de echte server automatisch uitgeschakeld en worden deze gemarkeerd als FGdown. Dit is een onafhankelijke service, dus u hoeft de farm-service niet opnieuw te starten.

zevenet lslb lb adc boerderij voogd health check

Tijd tussen de controles. Dit is het aantal seconden dat de Farm Guardian zal wachten om de healthcheck uit te voeren.
Commando om te controleren. Commando om uitgevoerd te worden tegen de geconfigureerde backends. Constanten of tokens worden gebruikt om een ​​dynamische configuratie te bieden.
Farm Guardian Logs. Met dit selectievakje kunnen de Farm Guardian-logboeken bepaalde gedragingen debuggen, hoewel dit mogelijk veel opslagruimte vergen.

Plugins

Farm Guardian gebruikt plug-ins om geavanceerde gezondheidscontroles te configureren om te detecteren of een bepaalde echte server volgens verwachting werkt met aangepaste opties. Er zijn veel gezondheidscontroles voor elk soort protocol, service of toepassing. De belangrijkste plug-ins worden hieronder beschreven.

check_ftp: Deze plug-in test FTP-verbindingen met de opgegeven host.
check_fping: Deze plug-in gebruikt de opdracht fping om de opgegeven host te pingen voor een snelle controle.
check_http: Deze plug-in test de HTTP-service op de opgegeven host. Het kan eenvoudige (HTTP) en veilige (HTTPS) protocollen testen, omleidingen volgen, zoekt naar strings en reguliere expressies, verbindingstijden controleren en rapporteren over vervaltijden van certificaten, HTTP-retourcodes, enz.
check_imap: Deze plug-in test IMAP-verbindingen met de opgegeven host.
check_ldap: Deze plug-in test LDAP-services. Het kan met een bepaalde zoekopdracht worden getest.
check_ldaps: Deze plug-in test de LDAPS-services. Het kan met een bepaalde zoekopdracht worden getest.
check_mysql: Deze plug-in test verbindingen met een MySQL-server.
check_mysql_query: Deze plug-in controleert een queryresultaat op drempelniveaus.
check_pgsql: Test of een PostgreSQL-database verbindingen accepteert.
check_pop: Deze plug-in test POP-verbindingen met de opgegeven host.
check_radius: Test om te zien of een RADIUS-server verbindingen accepteert.
check_simap: Deze plug-in test beveiligde IMAP-verbindingen met de opgegeven host
check_smtp: Deze plugin probeert een SMTP-verbinding met de host te openen.
check_snmp: Controleer de status van externe machines en verkrijg systeeminformatie via SNMP.
check_spop: Deze plug-in test beveiligde POP-verbindingen met de opgegeven host.
check_ssh: Probeer verbinding te maken met een SSH-server op opgegeven server en poort.
check_ssmtp: Deze plug-in test SSMTP-verbindingen met de opgegeven host.
check_tcp: Deze plug-in test TCP-verbindingen met de opgegeven host.

Voor meer informatie voert u de volgende opdracht uit onder het pad naar plug-ins:

plugin_name --help

Farm Guardian gebruikt deze plug-ins om de status van de backends te controleren en beheert de uitvoeruitvoer van de uitgevoerde plug-in voor het bepalen van de backend-status als volgt:

Als de fout uitvoer == 0 dan is de backend OK> $? = 0

Als de fout uitgang <> 0 dan is de backend NIET OK> $? <> 0

Aangepaste plug-in

Deze plug-ins kunnen worden geconfigureerd en volledig programmeerbaar door sysadmins om te worden aangepast aan elk protocol of elke toepassing.

Dit voorbeeld toont een aangepaste plug-in 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

constanten

Wanneer Farm Guardian een plug-in uitvoert, kan het enkele constanten of tokens als argumenten gebruiken, zoals:

  • HOST: Farm Guardian zorgt voor het wijzigen van deze constante door het echte IP-adres van de server.
  • PORT: Farm Guardian zorgt voor het aanpassen van deze constante door de echte serverpoort.

Deze constanten kunnen voor elke plug-in worden gebruikt, Farm Guardian zal ze gebruiken om de healthcheck uit te voeren met de echte parameters op hun plaats.

Farm Guardian-logboeken kunnen worden ingeschakeld, hoewel er mogelijk veel schijfruimte nodig is en de logboeken in het pad worden opgeslagen / Var / log / syslog.

Delen op:

Documentatie onder de voorwaarden van de GNU-licentie voor vrije documentatie.

Was dit artikel behulpzaam?

Gerelateerde artikelen