Standaard RELIANOID Voert basisgezondheidscontroles uit op de backends of echte servers, maar deze controles zijn mogelijk niet voldoende om de goede werking van de backends te garanderen. Om dit aan te pakken, RELIANOID omvat een dienst genaamd Boerenbewaker die geavanceerde gezondheidscontroles uitvoert en beheert.
Boerenbewaker fungeert als een geavanceerde monitoringtool voor backend-applicatieservers. Het leest configuraties, verkrijgt de lijst met backends en gebruikt plug-ins om de gezondheidsstatus van elke backend te controleren. Op basis van deze controles, Boerenbewaker werkt de backendstatus voor elke farm bij en bepaalt of de load balancer verkeer naar die backend moet routeren.
In deze sectie leert u hoe u Boerenbewaker controles met behulp van zowel de globale instellingen als de instellingen binnen een Boerderij.
Algemene instellingen #
Binnen Globaal sectie, dit zijn de instellingen voor Boerenbewaker.
In de Globaal tabblad, de velden zijn niet bewerkbaar als de controles vooraf in het systeem zijn geladen. Om een gezondheidscontrole te wijzigen, maakt u een nieuwe Boerenbewaker, schakel het Kopieer Farmguardian optie, en wijzig de nieuwe optie.
NaamDe identificatienaam van de huidige Farmguardian-controle. Deze kan niet worden bewerkt.
commando. De opdracht die wordt uitgevoerd om de status van de backends te controleren.
TimeoutDe maximale tijd voor de backend om een reactie te verzenden (in seconden).
intervalDe tijd tussen health checks van alle backends. Dit interval moet lang genoeg zijn om alle backends te kunnen controleren (time-out * aantal backends +1).
BeschrijvingEen korte beschrijving van de Farmguardian-check.
Verbreek verbindingenIndien ingeschakeld, worden de huidige verbindingen met gedetecteerde down-ends verwijderd, waardoor er direct opnieuw verbinding wordt gemaakt met beschikbare back-ends. Indien uitgeschakeld, worden de huidige verbindingen verwijderd zonder dat de verbinding met clients wordt verbroken.
Logboeken inschakelenSchakelt logs in of uit voor elke Farmguardian-controle. Als logs zijn uitgeschakeld, worden alleen wijzigingen in de backendstatus weergegeven in de logbestanden.
Backend-alias. Een naam die de interface van de backend gemakkelijk identificeert.
Configureer statuschecks #
Alle beschikbare Farmguardian-plug-ins bevinden zich in de mappen /usr/lib/nagios/plugins en /usr/lokaal/relianoid/app/libexec/ op de loadbalancer.
Boerenbewaker gebruikt deze plug-ins om geavanceerde statuscontroles te configureren en ervoor te zorgen dat echte servers correct functioneren met behulp van aangepaste opties. Er zijn talloze statuscontroles voor verschillende protocollen, services of applicaties. Hieronder vindt u beschrijvingen van de belangrijkste plug-ins.
check_ftp. Deze plug-in 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 de fping-opdracht om snel 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. De plugin kan zowel gewone (HTTP) als beveiligde (HTTPS) protocollen verwerken, redirects volgen, zoeken naar specifieke strings of reguliere expressies, verbindingstijden controleren en rapporteren over certificaatvervaltijden, HTTP-retourcodes en meer.
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 plug-in 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 met behulp van een opgegeven 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 met behulp van een opgegeven zoekopdracht.
Gebruik: check_ldaps -H -B [-P ] [-A ] [-D ] [-P ] [-w ] [-C ] [-t time-out] [-2|-3] [-4|-6]
check_mysql: Deze plugin controleert 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 evalueert een queryresultaat aan de hand van opgegeven drempelniveaus.
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:Deze plugin controleert of een PostgreSQL-database momenteel verbindingen accepteert.
Gebruik: check_pgsql [-H ] [-P ] [-C ] [-w ] [-T ] [-D ] [-l ] [-P ] [-Q ] [-C ] [-W ]
check_pop:Deze plugin test POP-verbindingen met een 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:Deze plugin 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 (SIMAP)-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 test SMTP-verbindingen met de opgegeven host.
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:Deze plugin controleert de status van externe machines en haalt systeemgegevens op met behulp van SNMP (Simple Network Management Protocol).
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 (SPOP)-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: Deze plugin probeert een SSH-verbinding tot stand te brengen met de opgegeven server en poort.
Gebruik: check_ssh [-4|-6] [-t ] [-R ] [-P ]
check_ssmtp: Deze plug-in 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 plug-in 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]
Voor meer informatie kunt u de volgende opdracht uitvoeren in de plugins-map:
plug-in_naam --help
Boerenbewaker maakt gebruik van deze plug-ins om de gezondheidsstatus van de back-ends te bewaken en interpreteert de uitvoer van de plug-in bij uitvoeringsfouten als volgt:
- Als de foutuitvoer is 0, de backend wordt als OK beschouwd (exitstatus $? = 0).
- Als de foutuitvoer niet 0 (elke waarde die niet nul is), wordt de backend als NIET OK beschouwd (exitstatus $? <> 0).
Aangepaste plug-in #
Deze plug-ins kunnen door systeembeheerders worden geconfigureerd en volledig worden geprogrammeerd, zodat ze aan elk protocol of elke toepassing kunnen worden aangepast.
Hier is een voorbeeld van een aangepaste plug-in genaamd 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 #
. Boerenbewaker voert een plugin uit, deze kan constanten of tokens als argumenten gebruiken, zoals:
HOST: Boerenbewaker vervangt deze constante automatisch door het echte IP-adres van de server.
PORT: Boerenbewaker vervangt deze constante automatisch met de echte serverpoort.
Deze constanten kunnen voor elke plug-in worden gebruikt, waardoor Boerenbewaker om gezondheidscontroles uit te voeren met de juiste parameters.
Boerderijen #
Op dit tabblad vindt u een lijst met boerderijen en diensten die hiervan gebruikmaken Boerenbewaker gezondheids controle.
Hieruit kunnen boerderijen en diensten worden toegewezen of verwijderd Boerenbewaker Gezondheidscontrole met behulp van meerdere selectieopties met enkele pijlpictogrammen of dubbele pijlen om alle farms in of uit te schakelen.

