Per impostazione predefinita, RELIANOID esegue controlli di integrità di base sui backend o sui real server, ma questi controlli potrebbero non essere sufficienti per garantire il corretto funzionamento dei backend. Per affrontare questo problema, RELIANOID include un servizio chiamato Farmguardian che esegue e gestisce controlli sanitari avanzati.
Farmguardian funge da strumento di monitoraggio avanzato per i server delle applicazioni backend. Legge le configurazioni, ottiene l'elenco dei backend e utilizza i plugin per verificare lo stato di integrità di ciascun backend. Sulla base di questi controlli, Farmguardian aggiorna lo stato del backend per ogni farm, determinando se il sistema di bilanciamento del carico deve instradare il traffico a quel backend.
In questa sezione imparerai come configurare Farmguardian controlla utilizzando sia le impostazioni globali che le impostazioni all'interno di a Fattoria.
Impostazioni globali #
Nelle Global sezione, queste sono le impostazioni per Farmguardian.
Nel Global scheda, i campi non sono modificabili se i controlli sono precaricati nel sistema. Per modificare un controllo di integrità, creane uno nuovo Farmguardian, abilita il file Copia Farmguardian opzione e modificare quella nuova.
Nome. Il nome identificativo del controllo Farmguardian corrente, che non può essere modificato.
Comando. Il comando eseguito per verificare lo stato dei backend.
timeout. Il tempo massimo impiegato dal backend per inviare una risposta (in secondi).
Intervallo. Il tempo tra i batch di controllo dello stato su tutti i backend. Questo intervallo deve essere sufficientemente lungo da consentire il controllo di tutti i backend (timeout * numero di backend +1).
Descrizione. Una breve descrizione del controllo del Guardiano della Fattoria.
Taglia i collegamenti. Quando abilitata, le connessioni correnti ai backend rilevati vengono cancellate, forzando una riconnessione immediata ai backend disponibili. Se disabilitato, le connessioni correnti verranno esaurite senza disconnettere alcun client.
Abilita log. Abilita o disabilita i registri per ogni controllo Farmguardian. Con i log disabilitati, nei file di log vengono visualizzate solo le modifiche allo stato del backend.
Alias di back-end. Un nome che identifica facilmente l'interfaccia del backend.
Configura i controlli di integrità #
Tutti i plugin Farmguardian disponibili si trovano nelle directory /usr/lib/nagios/plugins and /usr/local/relianoid/app/libexec/ sul bilanciatore del carico.
Farmguardian utilizza questi plugin per configurare controlli di integrità avanzati, assicurando che i real server funzionino correttamente utilizzando opzioni personalizzate. Esistono numerosi controlli di integrità per diversi protocolli, servizi o applicazioni. Di seguito sono riportate le descrizioni dei plugin più importanti.
check_ftp. Questo plugin verifica le connessioni FTP con l'host specificato.
Utilizzo: check_ftp -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping: questo plugin utilizza il comando fping per eseguire rapidamente il ping dell'host specificato per un controllo rapido.
Utilizzo: check_fping -w limite -c limite [-b dimensione] [-n numero] [-T numero] [-i numero]
check_http: questo plugin testa il servizio HTTP sull'host specificato. Può gestire sia protocolli semplici (HTTP) che sicuri (HTTPS), seguire reindirizzamenti, cercare stringhe specifiche o espressioni regolari, controllare i tempi di connessione e segnalare tempi di scadenza dei certificati, codici di ritorno HTTP e altro ancora.
Utilizzo: check_http -H | -IO [-u ] [-P ] [-J ] [-K ] [-w ] [-C ] [-T ] [-L] [-E] [-a auth] [-b proxy_auth] [-f ] [-e ] [-d stringa] [-s stringa] [-l] [-r | -R ] [-P stringa] [-m : ] [-4|-6] [-N] [-M ] [-A stringa] [-k stringa] [-S ] [--sni] [-C [, ]] [-T ] [metodo -j]
check_imap: Questo plug-in verifica le connessioni IMAP con l'host specificato.
Utilizzo: check_imap -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap: questo plugin testa i servizi LDAP utilizzando una query di ricerca specificata.
Utilizzo: check_ldap -H -B [-P ] [-UN ] [-D ] [-P ] [-w ] [-C ] [-t timeout] [-2|-3] [-4|-6]
check_ldaps: questo plugin testa i servizi LDAPS utilizzando una query di ricerca specificata.
Utilizzo: check_ldaps -H -B [-P ] [-UN ] [-D ] [-P ] [-w ] [-C ] [-t timeout] [-2|-3] [-4|-6]
check_mysql: Questo plugin verifica le connessioni a un server MySQL.
Utilizzo: check_mysql [-d database] [-H host] [-P porta] [-s socket] [-u utente] [-p password] [-S] [-l] [-a certificato] [-k chiave ] [-C ca-cert] [-D ca-dir] [-L cifrari] [-f optfile] [-g gruppo]
check_mysql_query: questo plugin valuta il risultato di una query rispetto ai livelli di soglia specificati.
Utilizzo: 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 gruppo]
check_pgsql: questo plugin verifica se un database PostgreSQL sta attualmente accettando connessioni.
Utilizzo: check_pgsql [-H ] [-P ] [-C ] [-w ] [-T ] [-D ] [-l ] [-P ] [-Q ] [-C ] [-W ]
check_pop: Questo plugin testa le connessioni POP con un host specificato.
Utilizzo: check_pop -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius: questo plugin verifica se un server RADIUS accetta connessioni.
Utilizzo: check_radius -H host -F file_config -u nome utente -p password [-P porta] [-t timeout] [-r tentativi] [-e aspetta] [-n nas-id] [-N nas-ip-addr ]
check_simap: questo plugin testa le connessioni IMAP sicure (SIMAP) con l'host specificato.
Utilizzo: check_simap -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp: questo plugin verifica le connessioni SMTP con l'host specificato.
Utilizzo: check_smtp -H host [-p porta] [-4|-6] [-e wait] [-C comando] [-R risposta] [-f from addr] [-A authtype -U authuser -P authpass] [-w avviso] [-c critico] [-t timeout] [-q] [-F fqdn] [-S] [-D giorni di avviso scadenza certificato[, giorni critici scadenza certificato]] [-v]
check_snmp: Questo plugin controlla lo stato delle macchine remote e recupera le informazioni di sistema utilizzando SNMP (Simple Network Management Protocol).
Utilizzo: check_snmp -H -o [-w intervallo_avviso] [-c intervallo_crit] [-C comunità] [-s stringa] [-r regex] [-R regexi] [-t timeout] [-e tentativi] [-l etichetta] [-u unità] [-p numero porta] [-d delimitatore] [-D delimitatore output] [-m miblist] [-P versione snmp] [-N contesto] [-L seclevel] [-U secname] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop: questo plugin testa le connessioni POP (SPOP) sicure con l'host specificato.
Utilizzo: check_spop -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh: questo plugin tenta di stabilire una connessione SSH con il server e la porta specificati.
Utilizzo: check_ssh [-4|-6] [-t ] [-R ] [-P ]
check_ssmtp: Questo plug-in verifica le connessioni SSMTP con l'host specificato.
Utilizzo: check_ssmtp -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp: Questo plug-in verifica le connessioni TCP con l'host specificato.
Utilizzo: check_tcp -H host -p porta [-w ] [-C ] [-S ] [-e ] [-Q ][-M ] [-D ] [-T ] [-R ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Per maggiori dettagli, esegui il seguente comando nella directory dei plugin:
nome_plugin --Aiuto
Farmguardian utilizza questi plugin per monitorare lo stato di integrità dei backend e interpreta l'output dell'errore di esecuzione del plugin come segue:
- Se l'output dell'errore è 0, il backend è considerato OK (exit status $? = 0).
- Se l'output dell'errore non lo è 0 (qualsiasi valore diverso da zero), il backend è considerato NON OK (exit status $? <> 0).
Plugin personalizzato #
Questi plugin sono configurabili e completamente programmabili dagli amministratori di sistema per adattarsi a qualsiasi protocollo o applicazione.
Ecco un esempio di plugin personalizzato denominato check_load.sh:
#!/bin/bash ### ###comments: ###snmp utils dovrebbe essere installato ###snmpd dovrebbe essere installato e configurato nei backend ### MAXVALUE=4 COMMUNITY="public" EXECUTE=`snmpget - v 2c -c $COMUNITÀ $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | tagliare -d '." -f1 | sed s/\ // | sed s/\"//` echo "Il controllo del carico della CPU SNMP per $1 è $EXECUTE" # Se il risultato è vero, esci con 1; errore; altrimenti esci = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; quindi #errore output; il server è sovraccarico e il sistema di bilanciamento del carico non invierà più connessioni exit 1 altrimenti #, non errore, il server può accettare più connessioni exit 0 fi
Costante #
Quando Farmguardian esegue un plugin, può utilizzare costanti o token come argomenti, come ad esempio:
HOST: Farmguardian sostituirà automaticamente questa costante con l'indirizzo IP del server reale.
PORT: Farmguardian sostituirà automaticamente questa costante con la porta del server reale.
Queste costanti possono essere utilizzate per ogni plugin, permettendo Farmguardian per eseguire controlli di integrità con i parametri corretti.
Farms #
In questa scheda troverai un elenco di aziende agricole e servizi che lo utilizzano Farmguardian Controllo della salute.
Fattorie e servizi possono essere assegnati o rimossi da questo Farmguardian controllo dello stato utilizzando più opzioni di selezione con icone a freccia singola o doppia freccia per abilitare o disabilitare tutte le aziende agricole.

