Standaard voert het Relianoid- apparaat eenvoudige gezondheidscontroles uit op de backends of fysieke servers, maar soms zijn deze controles niet voldoende om te bepalen of de backends naar behoren functioneren. Daarom voert het apparaat geavanceerde gezondheidscontroles uit en beheert deze via een daemon die gebruikmaakt van een set plugins genaamd Farmguardian.
De hoofdtaak van Farmguardian is het fungeren als een geavanceerde monitoringtool voor de backends van applicaties. Farmguardian leest de farmconfiguratie en verkrijgt de lijst met backends, en wordt daarbij ondersteund door plugins die de gezondheidsstatus van de backends controleren. Farmguardian werkt ook de backendstatus voor een bepaalde farm bij en bepaalt of de load balancer verkeer naar die backend moet sturen.
In dit gedeelte leert u hoe u de FarmGuardian -controles configureert. We zullen beide tabbladen bekijken: het tabblad 'Globaal' en het tabblad 'Boerderijen'.
Algemene instellingen #
In het gedeelte 'Globaal ' vind je instellingen voor bepaalde gezondheidscontroles van de boerderijbewaker , zoals te zien is in de afbeelding hieronder.
De velden op dit tabblad kunnen niet worden bewerkt als de controle al in het systeem is geladen. Als u een gezondheidscontrole wilt wijzigen, moet u een nieuwe farmguardian aanmaken , de optie ' Farmguardian kopiëren' inschakelen en de nieuwe wijzigen.
NaamDeze identificatienaam van de huidige Farm Guardian-controle kan niet worden bewerkt.
commando. Stelt de opdracht in die wordt uitgevoerd om de status van de backend te controleren.
Timeout. De hoogste hoeveelheid tijd die de backend nodig heeft om een antwoord terug te sturen. Eenheden (seconden).
intervalDe tijd tussen de health checks van alle backends. Merk op dat de farmguardian-controle bij elk interval stopt en opnieuw wordt gestart. Deze moet dus hoog genoeg zijn om alle backends te kunnen controleren (timeout * aantal backends +1).
Beschrijving. Dit veld bevat een korte beschrijving van de Farmguardian-cheque.
Verbreek verbindingenWanneer deze optie is ingeschakeld, worden de huidige verbindingen van de gedetecteerde backends die down zijn, verwijderd, waardoor er direct opnieuw verbinding wordt gemaakt met de beschikbare backends. Indien uitgeschakeld, worden de huidige verbindingen verwijderd zonder dat de verbinding met een client wordt verbroken.
Logboeken inschakelenSchakelt de logs van elke farmguardian-controle in of uit. Als logs zijn uitgeschakeld, worden alleen de wijzigingen in de backend-status weergegeven in de logbestanden.
Configureer statuschecks #
Alle beschikbare FarmGuardian- plugins zijn te vinden in de map /usr/local/zevenet/app/libexec/ binnen de load balancer.
Farmguardian gebruikt plugins om geavanceerde gezondheidscontroles te configureren waarmee kan worden vastgesteld of een bepaalde server naar behoren functioneert, met behulp van aangepaste opties. Er zijn veel gezondheidscontroles voor elk protocol, elke service of applicatie. De belangrijkste plugins worden hieronder beschreven.
check_ftp . Deze plugin test FTP-verbindingen met de opgegeven host.
Gebruik: check_ftp -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping : Deze plugin gebruikt het fping-commando om de opgegeven host te pingen voor een snelle controle.
Gebruik: check_fping -w limiet -c limiet [-b grootte] [-n nummer] [-T nummer] [-i nummer]
check_http : Deze plugin test de HTTP-service op de opgegeven host. Hij kan zowel het gewone (HTTP) als het beveiligde (HTTPS) protocol testen, omleidingen volgen, zoeken naar tekenreeksen en reguliere expressies, verbindingstijden controleren en rapporteren over vervaltijden van certificaten, HTTP-retourcodes, enz.
Gebruik: check_http -H | -I [-u ] [-P ] [-J ] [-K ] [-w ] [-C ] [-T ] [-L] [-E] [-a auth] [-b proxy_auth] [-f ] [-e ] [-d tekenreeks] [-s tekenreeks] [-l] [-r | -R ] [-P-snaar] [-m : ] [-4|-6] [-N] [-M ] [-A-reeks] [-k-reeks] [-S ] [--sni] [-C [, ]] [-T ] [-j methode]
check_imap : Deze plugin test IMAP-verbindingen met de opgegeven host.
Gebruik: check_imap -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : Deze plugin test LDAP-services. Je kunt hem testen met een specifieke zoekopdracht.
Gebruik: check_ldap -H -B [-P ] [-A ] [-D ] [-P ] [-w ] [-C ] [-t time-out] [-2|-3] [-4|-6]
check_ldaps : Deze plugin test LDAPS-services. Je kunt hem testen met een specifieke zoekopdracht.
Gebruik: check_ldaps -H -B [-P ] [-A ] [-D ] [-P ] [-w ] [-C ] [-t time-out] [-2|-3] [-4|-6]
check_mysql : Deze plugin test verbindingen met een MySQL-server.
Gebruik: check_mysql [-d database] [-H host] [-P poort] [-s socket] [-u gebruiker] [-p wachtwoord] [-S] [-l] [-a cert] [-k sleutel ] [-C ca-cert] [-D ca-dir] [-L cijfers] [-f optfile] [-g groep]
check_mysql_query : Deze plugin controleert een queryresultaat aan de hand van drempelwaarden.
Gebruik: check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P poort] [-s socket] [-d database] [-u gebruiker] [-p wachtwoord] [-f optfile ] [-g groep]
check_pgsql : Test of een PostgreSQL-database verbindingen accepteert.
Gebruik: check_pgsql [-H ] [-P ] [-C ] [-w ] [-T ] [-D ] [-l ] [-P ] [-Q ] [-C ] [-W ]
check_pop : Deze plugin test POP-verbindingen met de opgegeven host.
Gebruik: check_pop -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : Test of een RADIUS-server verbindingen accepteert.
Gebruik: check_radius -H host -F config_file -u gebruikersnaam -p wachtwoord [-P poort] [-t time-out] [-r nieuwe pogingen] [-e verwachten] [-n nas-id] [-N nas-ip-addr ]
check_simap : Deze plugin test beveiligde IMAP-verbindingen met de opgegeven host.
Gebruik: check_simap -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : Deze plugin probeert een SMTP-verbinding met de host tot stand te brengen.
Gebruik: check_smtp -H host [-p poort] [-4|-6] [-e verwacht] [-C commando] [-R antwoord] [-f van addr] [-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t time-out] [-q] [-F fqdn] [-S] [-D warn days cert verlopen[,crit days cert verlopen]] [-v]
check_snmp : Controleer de status van externe machines en verkrijg systeeminformatie via SNMP.
Gebruik: check_snmp -H -O [-w warn_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regex] [-t time-out] [-e pogingen] [-l label] [-u eenheden] [-p poortnummer] [-d scheidingsteken] [-D uitvoerscheidingsteken] [-m miblist] [-P snmp-versie] [-N context] [-L seclevel] [-U secnaam] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop : Deze plugin test beveiligde POP-verbindingen met de opgegeven host.
Gebruik: check_spop -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh : Probeer verbinding te maken met een SSH-server op de opgegeven server en poort.
Gebruik: check_ssh [-4|-6] [-t ] [-R ] [-P ]
check_ssmtp : Deze plugin test SSMTP-verbindingen met de opgegeven host.
Gebruik: check_ssmtp -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : Deze plugin test TCP-verbindingen met de opgegeven host.
Gebruik: check_tcp -H host -p poort [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Voer voor meer informatie de volgende opdracht uit onder het plug-inspad:
plug-in_naam --help
Farmguardian gebruikt deze plugins om de gezondheidsstatus van de backends te controleren en verwerkt de foutmeldingen van de uitgevoerde plugin om de status van de backend als volgt te bepalen :
Als de fout uitgang == 0 dan is de backend in orde > $? = 0
Als de fout uitgang <> 0 dan is de backend NIET OK > $? <> 0
Aangepaste plug-in #
Systeembeheerders kunnen deze plug-ins configureren, omdat ze volledig programmeerbaar zijn en aan elk protocol of elke toepassing kunnen worden aangepast.
Dit voorbeeld toont een aangepaste plugin , check_load.sh.
#!/bin/bash ### ###comments: ###snmp utils moeten worden geïnstalleerd ###snmpd moet worden geïnstalleerd en geconfigureerd in de 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 | knip -d '.' -f1 | sed s/\ // | sed s/\"//` echo "SNMP CPU-belastingscontrole voor $1 is $EXECUTE" # Als het resultaat waar is, sluit u af met 1; fout; anders exit = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; dan is de #error-uitvoer overbelast en verzendt de load balancer niet meer verbindingen, exit 1, anders #, de server kan niet meer verbindingen accepteren, exit 0 fi;
constanten #
Wanneer Farmguardian een plugin uitvoert, kan het bepaalde constanten of tokens als argumenten gebruiken, zoals:
HOST. Boerenbewaker zal ervoor zorgen dat deze constante wordt gewijzigd met het echte IP-adres van de server.
PORT. Boerenbewaker zal ervoor zorgen dat deze constante wordt gewijzigd door de echte serverpoort.
Deze constanten worden voor elke plugin gebruikt. Farmguardian gebruikt ze om de gezondheidscontrole uit te voeren met de daadwerkelijke parameters.
Boerderijen #
Op dit tabblad vindt u een lijst met boerderijen en diensten die gebruikmaken van deze Farmguardian -gezondheidscontrole.
Boerderijen en diensten kunnen aan deze Farmguardian -gezondheidscontrole worden toegevoegd of ervan worden verwijderd door middel van meerdere selecties met enkele pijlpictogrammen of dubbele pijlen om alle boerderijen in of uit te schakelen.

