Monitoramento | Guardião da Fazenda | Atualizar

POSTADO POR Zevenet | 15 de janeiro de 2019

Por padrão, o Zevenet executa verificações de saúde simples nos backends ou servidores reais em farms HTTP, mas às vezes essa verificação não é suficiente para determinar se os back-ends estão funcionando adequadamente. Por esta razão, Zevenet implementa um serviço que executa e gerencia verificações de saúde avançadas através de um daemon que usa plugins chamados Guardião da Fazenda.

A principal tarefa do Farm Guardian é trabalhar como uma ferramenta de monitoramento avançado para aplicativos, para isso, o Farm Guardian lê a configuração do farm e obtém a lista de back-end, e ajudado por um plug-in verifica o status de integridade do back-end, o Farm Guardian atualiza o status do backend o farm fornecido permite ou não permitir que o balanceador de carga envie tráfego para esse backend.

Nesta seção, você pode configurar a verificação do Farmguardian. Você pode ver duas seções Global e Fazendas.

Configurações globais

Na seção Global, existem as configurações de verificação de saúde de uma determinada verificação de saúde Farmguardian, como mostrado abaixo.
Os campos desta seção podem não ser editáveis ​​se a verificação for pré-configurada no sistema, se você quiser modificar essa verificação, você deve criar uma nova verificação do Farmguardian adicionando o parâmetro de cópia com o nome de verificação desejado e modificar o novo.

  • Nome. Nome de identificação da verificação atual do Farm Guardian.
  • Descrição. Este campo contém alguma descrição sobre o cheque.
  • Command. Verifique o comando e os parâmetros a serem executados regularmente em cada backend.
  • Intervalo. Tempo em segundos entre os lotes de verificação de integridade em relação a todos os backends.
  • Cortar Conexões. Quando essa opção está ativada, as conexões atuais do back-end detectado são liberadas, forçando uma reconexão imediata a um back-end disponível. Se desativado, as conexões atuais serão drenadas sem desconectar os usuários.
  • Logs. Ativa ou desativa os registros de todas as verificações de integridade do Farm Guardian. Com os logs desativados, apenas as alterações de status do backend são mostradas nos arquivos de log.

Configurar verificações de integridade

Os plugins usados ​​pelo Farm Guardian podem ser encontrados no diretório / usr / lib / nagios / plugins /.

O Farm Guardian usa plug-ins para configurar verificações de integridade avançadas para detectar se um determinado servidor real está funcionando conforme o esperado usando opções personalizadas. Há muitas verificações de integridade para todo tipo de protocolo, serviço ou aplicativo. Os plugins mais importantes são descritos abaixo.

check_ftp: Este plugin testa conexões FTP com o host especificado.

Usage:
check_ftp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_fping: Este plugin irá usar o comando fping para fazer ping no host especificado para uma verificação rápida.

Usage:
 check_fping <host_address> -w limit -c limit [-b size] [-n number] [-T number] [-i number]

check_http: Este plug-in testa o serviço HTTP no host especificado. Ele pode testar protocolos simples (HTTP) e seguros (HTTPS), seguir redirecionamentos, procurar por seqüências de caracteres e expressões regulares, verificar horários de conexão e relatar tempos de expiração de certificados, códigos de retorno HTTP, etc.

Usage:
 check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
       [-J <client certificate file>] [-K <private key>]
       [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth]
       [-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]
       [-e <expect>] [-d string] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]
       [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]
       [-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]]
       [-T <content-type>] [-j method]

check_imap: Este plugin testa a conexão IMAP com o host especificado.

Usage:
check_imap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ldap: Este plugin testa serviços LDAP. Pode ser testado com uma determinada pesquisa.

Usage:
 check_ldap -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_ldaps: Este plugin testa serviços LDAPS. Pode ser testado com uma determinada pesquisa.

Usage:
 check_ldaps -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_mysql: Este plugin testa conexões com um servidor MySQL.

Usage:
 check_mysql [-d database] [-H host] [-P port] [-s socket]
       [-u user] [-p password] [-S] [-l] [-a cert] [-k key]
       [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]

check_mysql_query: Este plug-in verifica um resultado da consulta em relação aos níveis de limite.

Usage:
 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 group]

check_pgsql: Teste se um banco de dados PostgreSQL está aceitando conexões.

Usage:
check_pgsql [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>]
 [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>]
[-q <query>] [-C <critical query range>] [-W <warning query range>]

check_pop: Este plugin testa conexões POP com o host especificado.

Usage:
check_pop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_radius: Testa para ver se um servidor RADIUS está aceitando conexões.

Usage:
check_radius -H host -F config_file -u username -p password
			[-P port] [-t timeout] [-r retries] [-e expect]
			[-n nas-id] [-N nas-ip-addr]

check_simap: Este plug-in testa conexões IMAP seguras com o host especificado.

Usage:
check_simap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_smtp: Este plugin tentará abrir uma conexão SMTP com o host.

Usage:
check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr]
[-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q]
[-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v] 

check_snmp: Verifique o status das máquinas remotas e obtenha informações do sistema via SNMP.

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]

check_spop: Este plugin testa conexões POP seguras com o host especificado.

Usage:
check_spop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ssh: Tente se conectar a um servidor SSH no servidor e na porta especificados.

Usage:
check_ssh  [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

check_ssmtp: Este plug-in testa conexões SSMTP com o host especificado.

Usage:
check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_tcp: Este plugin testa conexões TCP com o host especificado.

Usage:
check_tcp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

Para mais informações, execute o seguinte comando no caminho dos plugins:

plugin_name --help

O Farm Guardian usará esses plug-ins para verificar o status de integridade dos back-ends e gerenciará a saída do erro de execução do plug-in executado para decidir o status do backend da seguinte maneira:

Se o erro saída == 0 então o backend está OK> $? = 0

Se o erro saída <> 0 então o back-end NÃO está OK> $? <> 0

Plugin personalizado

Esses plugins podem ser configurados e totalmente programados pelos administradores de sistema para serem adaptados a qualquer protocolo ou aplicativo.

Este exemplo mostra um plugin personalizado 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

Constante

Quando o Farm Guardian executa um plugin, ele pode usar algumas constantes ou tokens como argumentos, como:

  • HOST: Farm Guardian irá cuidar de modificar esta constante pelo endereço IP do servidor real.
  • PORT: Farm Guardian irá se encarregar de modificar esta constante pela porta real do servidor.

Essas constantes podem ser usadas para cada plug-in, o Farm Guardian as usará para executar a verificação de integridade com os parâmetros reais em vigor.

Fazendas

Nesta seção, há uma lista de fazendas e serviços usando essa verificação de integridade do Farm Guardian.

Fazendas e serviços podem ser desanexados desta verificação de saúde do Farm Guardian clicando no ícone da lixeira.

Compartilhar no:

Documentação sob os termos da Licença de Documentação Livre GNU.

Esse artigo foi útil?

Artigos Relacionados