LSLB | Fattorie | Aggiornamento | Guardiano della fattoria

PUBBLICATO DA Zevenet | 2 ottobre, 2017

Panoramica

Per impostazione predefinita, Zevenet esegue semplici controlli di integrità ai backend o ai real server, ma a volte questo controllo non è sufficiente per determinare che i backend funzionino in modo appropriato. Per questo motivo, Zevenet implementa un servizio che esegue e gestisce controlli di integrità avanzati tramite un daemon che utilizza i plugin chiamati Guardiano della fattoria.

Il compito principale di Farm Guardian è quello di lavorare come monitoraggio avanzato per le applicazioni, per questo Farm Guardian legge la configurazione della farm e ottiene l'elenco di backend e, aiutato da un plug-in verifica lo stato di integrità del backend, Farm Guardian aggiorna lo stato di backend per data farm che consente o meno a Zen Load Balancer di inviare connessioni a tale backend.

I plugin usati da Farm Guardian si possono trovare sotto la directory / Usr / local / zenloadbalancer / app / libexec / .

Farm Guardian Configuration

Controlli sanitari per il back-end. Selezionando questa casella si abiliterà uno stato di monitoraggio più avanzato per i backend e totalmente programmabile con i propri script. Quando viene rilevato un comportamento errato da Farm Guardian, disattiva automaticamente il server reale e verrà contrassegnato come FGdown. Questo è un servizio indipendente, quindi non è necessario riavviare il servizio di farm.

zevenet lslb lb adc farmian guardian health check

Tempo tra i controlli. Questo è il numero di secondi in cui Farm Guardian aspetterà di eseguire il controllo dello stato.
Comando per controllare. Comando da eseguire su contro i backend configurati. Costanti o token vengono utilizzati per fornire una configurazione dinamica.
Registri del guardiano della fattoria. Questa casella consentirà ai log di Guardian Farm di eseguire il debug di alcuni comportamenti, anche se potrebbe consumare molta memoria.

plugin

Farm Guardian utilizza i plug-in per configurare i controlli di integrità avanzati per rilevare se un determinato server reale funziona come previsto utilizzando opzioni personalizzate. Esistono molti controlli di integrità per ogni tipo di protocollo, servizio o applicazione. I plugin più importanti sono descritti di seguito.

check_ftp: Questo plug-in verifica le connessioni FTP con l'host specificato.
check_fping: Questo plugin utilizza il comando fping per eseguire il ping dell'host specificato per un controllo rapido.
check_http: Questo plug-in verifica il servizio HTTP sull'host specificato. Può testare protocolli semplici (HTTP) e sicuri (HTTPS), seguire reindirizzamenti, ricerca stringhe ed espressioni regolari, controllare i tempi di connessione e riportare i tempi di scadenza dei certificati, i codici di ritorno HTTP, ecc.
check_imap: Questo plug-in verifica le connessioni IMAP con l'host specificato.
check_ldap: Questo plug-in verifica i servizi LDAP. Può essere testato con una determinata ricerca.
check_ldaps: Questo plug-in verifica i servizi LDAPS. Può essere testato con una determinata ricerca.
check_mysql: Questo plugin verifica le connessioni a un server MySQL.
check_mysql_query: Questo plugin controlla i risultati di una query rispetto ai livelli di soglia.
check_pgsql: Verifica se un database PostgreSQL accetta connessioni.
check_pop: Questo plug-in verifica le connessioni POP con l'host specificato.
check_radius: Verifica se un server RADIUS accetta connessioni.
check_simap: Questo plug-in verifica le connessioni IMAP sicure con l'host specificato
check_smtp: Questo plugin tenterà di aprire una connessione SMTP con l'host.
check_snmp: Verifica lo stato delle macchine remote e ottieni informazioni sul sistema tramite SNMP.
check_spop: Questo plug-in verifica le connessioni POP sicure con l'host specificato.
check_ssh: Provare a connettersi a un server SSH al server e alla porta specificati.
check_ssmtp: Questo plug-in verifica le connessioni SSMTP con l'host specificato.
check_tcp: Questo plug-in verifica le connessioni TCP con l'host specificato.

Per ulteriori informazioni, eseguire il seguente comando sotto il percorso dei plugin:

plugin_name --help

Farm Guardian userà questo plugin per controllare lo stato di salute dei backend e gestirà l'output di errore di esecuzione del plugin eseguito per decidere lo stato del backend come segue:

Se l'errore uscita == 0 quindi il backend è OK> $? = 0

Se l'errore uscita <> 0 allora il backend NON è OK> $? <> 0

Plugin personalizzato

Questi plug-in possono essere configurati e completamente programmabili da amministratori di sistema per adattarsi a qualsiasi protocollo o applicazione.

Questo esempio mostra un plugin personalizzato 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

Costante

Quando Farm Guardian esegue un plug-in, può utilizzare alcune costanti o token come argomenti, come:

  • HOST: Farm Guardian si occuperà di modificare questa costante tramite l'indirizzo IP del server reale.
  • PORT: Farm Guardian si occuperà di modificare questa costante dalla reale porta del server.

Queste costanti possono essere utilizzate per ogni plug-in, Farm Guardian le userà per eseguire il controllo di integrità con i parametri reali in atto.

Esempio

Il prossimo esempio descrive un controllo avanzato della salute HTTP per i servizi web. Un errore comune è che i server delle applicazioni mostrano pagine vuote, ma la porta 8080 accetta ancora richieste HTTP.

Per una farm HTTP, configurare la successiva nella sezione Farm Guardian di ogni servizio:

check_http_fg_example

Farm Guardian sta per eseguire il check_http plugin per ogni backend e sostituirà le costanti HOST che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi PORT tramite l'indirizzo IP e la porta per ogni back-end, per ogni esecuzione il plug-in specificato restituirà il codice di errore 0 se la stringa 'Welcome' viene trovata nel contenuto di index.php. Nel caso in cui la stringa "Benvenuto" non venga trovata, questo back-end sarà contrassegnato come GIÙ.

Per ulteriori informazioni in merito alla configurazione di Farm Guardian, fare riferimento a Guida alla configurazione di Farm Guardian.

I registri di Farm Guardian possono essere abilitati anche se potrebbero consumare molto spazio su disco e salva i registri nel percorso /usr/local/zenloadbalancer/config/[_service]_farmguardian.log or / Var / log / syslog nelle versioni Zevenet più aggiornate.

Condividere su:

Documentazione sotto i termini della GNU Free Documentation License.

questo articolo è stato utile?

Articoli Correlati