Conteúdo
Visão geral
Por padrão, o Zevenet executa verificações de saúde simples nos backends ou servidores reais, 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 tarefa principal do Farm Guardian é trabalhar como um 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 determinado farm permitindo ou não permitir que o Zen Load Balancer envie conexões em tal backend.
Os plugins usados pelo Farm Guardian podem ser encontrados no diretório / usr / local / zenloadbalancer / app / libexec / .
Configuração do guardião da fazenda
Verificações de integridade para back-end. Marcar essa caixa permitirá um estado de monitoramento mais avançado para back-ends e totalmente programável com seus próprios scripts. Quando um comportamento errado é detectado pelo Farm Guardian, ele desativa automaticamente o servidor real e será marcado como FGdown. Este é um serviço independente, portanto, você não precisa reiniciar o serviço do farm.
Tempo entre verificações. Este é o número de segundos que o Farm Guardian irá esperar para executar a verificação de saúde.
Comando para verificar. Comando a ser executado contra os backends configurados. Constantes ou tokens são usados para fornecer configuração dinâmica.
Registros do Guardião da Fazenda. Essa caixa de seleção permitirá que os logs do Farm Guardian depurem alguns comportamentos, embora possam consumir muito armazenamento.
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.
check_fping: Este plugin irá usar o comando fping para fazer ping no host especificado para uma verificação rápida.
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.
check_imap: Este plugin testa a conexão IMAP com o host especificado.
check_ldap: Este plugin testa serviços LDAP. Pode ser testado com uma determinada pesquisa.
check_ldaps: Este plugin testa serviços LDAPS. Pode ser testado com uma determinada pesquisa.
check_mysql: Este plugin testa conexões com um servidor MySQL.
check_mysql_query: Este plug-in verifica um resultado da consulta em relação aos níveis de limite.
check_pgsql: Teste se um banco de dados PostgreSQL está aceitando conexões.
check_pop: Este plugin testa conexões POP com o host especificado.
check_radius: Testa para ver se um servidor RADIUS está aceitando conexões.
check_simap: Este plugin testa conexões IMAP seguras com o host especificado
check_smtp: Este plugin tentará abrir uma conexão SMTP com o host.
check_snmp: Verifique o status das máquinas remotas e obtenha informações do sistema via SNMP.
check_spop: Este plugin testa conexões POP seguras com o host especificado.
check_ssh: Tente se conectar a um servidor SSH no servidor e na porta especificados.
check_ssmtp: Este plug-in testa conexões SSMTP com o host especificado.
check_tcp: Este plugin testa conexões TCP com o host especificado.
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 de backend da seguinte forma:
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.
Exemplo
O próximo exemplo descreve uma verificação de integridade de HTTP avançada para serviços da web. Um erro comum é que os servidores de aplicativos mostram páginas em branco, mas a porta 8080 ainda aceita solicitações HTTP.
Para um farm HTTP, por favor, configure o próximo na seção Farm Guardian de todos os serviços:
Farm Guardian vai executar o check_http plugin para cada backend e irá substituir as constantes HOST e PORT pelo endereço IP e porta para cada backend, para cada execução o dado plugin retornará o código de erro 0 se a string 'Welcome' for encontrada no conteúdo do index.php. No caso em que a string 'Welcome' não for encontrada, este backend será marcado como DOWN.
Para mais informações sobre a configuração do Farm Guardian, por favor consulte Guia de configuração do Farm Guardian.
Os logs do Farm Guardian podem ser ativados, embora possam consumir muito espaço em disco e salvar os logs no caminho /usr/local/zenloadbalancer/config/[_service]_farmguardian.log or / var / log / syslog nas versões mais atualizadas do Zevenet.