Por padrão, o Relianoid executa verificações básicas de integridade nos servidores de backend, mas, às vezes, essas verificações não são suficientes para determinar se os servidores de backend estão funcionando corretamente. Por esse motivo, o Relianoid implementa um serviço chamado Farmguardian , que executa e gerencia verificações de integridade avançadas.
O objetivo do Farmguardian é atuar como uma ferramenta avançada de monitoramento para servidores de aplicação de backend. O Farmguardian realiza isso lendo configurações e obtendo a lista de backends com a ajuda de plugins que verificam o status de integridade de cada backend. O Farmguardian também atualiza o status do backend para cada farm, determinando se o balanceador de carga deve enviar tráfego para esse backend.
Nesta seção, você aprenderá como configurar as verificações do FarmGuardian usando as configurações globais e as configurações dentro de um Farm.
Configurações globais #
Na seção Global , encontram-se as configurações do Farmguardian.
Na aba Global, os campos não são editáveis se as verificações já estiverem pré-carregadas no sistema. Se você quiser modificar uma verificação de integridade, você deve criar um novo farmguardian , habilitar a opção "Copiar farmguardian" e modificar o novo.
Nome. O nome de identificação do atual cheque Farmguardian, não pode ser editado.
Command. Defina o comando executado para verificar o status dos back-ends.
Timeout. A maior quantidade de tempo para o back-end enviar uma resposta. Unidades (segundos).
Intervalo. Tempo entre lotes de verificação de integridade em relação a todos os back-ends. Observe que a cada intervalo de tempo, a verificação do farmguardian será interrompida e reiniciada, portanto, deve ser alta o suficiente para poder verificar todos os backends ( timeout * nº backends +1 ).
Descrição. Este campo contém uma breve descrição do cheque Farmguardian.
Cortar Conexões. Quando esta opção está habilitada, as conexões atuais dos back-ends detectados que estão inativos são liberadas, forçando uma reconexão imediata aos back-ends disponíveis. Se desabilitado, as conexões atuais serão drenadas sem desconectar nenhum cliente.
Ativar registros. Ativa ou desativa os registros de todas as verificações de farmguardians. Com os logs desativados, apenas as alterações de status do backend são mostradas nos arquivos de log.
Alias de back-end. Um nome que identifica facilmente a interface do backend.
Configurar verificações de integridade #
Todos os plugins do FarmGuardian disponíveis podem ser encontrados no diretório /usr/local/zevenet/app/libexec/ dentro do balanceador de carga.
O Farmguardian utiliza plugins para configurar verificações de integridade avançadas, detectando se um determinado servidor real está funcionando conforme o esperado, por meio de opções personalizadas. Existem diversas verificações de integridade para cada protocolo, serviço ou aplicação. Os plugins mais importantes são descritos abaixo.
check_ftp . Este plugin testa conexões FTP com o host especificado.
Uso: 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 : Este plugin utiliza o comando fping para enviar um ping ao host especificado para uma verificação rápida.
Uso: check_fping -w limite -c limite [-b tamanho] [-n número] [-T número] [-i número]
check_http : Este plugin testa o serviço HTTP no host especificado. Ele pode testar protocolos simples (HTTP) e seguros (HTTPS), seguir redirecionamentos, pesquisar strings e expressões regulares, verificar tempos de conexão e gerar relatórios sobre tempos de expiração de certificados, códigos de retorno HTTP, etc.
Uso: check_http -H | -EU [-você ] [-p ] [-J ] [-K ] [-c ] [-c ] [-t ] [-L] [-E] [-a autenticação] [-b proxy_auth] [-f ] [-e ] [-d string] [-s string] [-l] [-r | -R ] [-P string] [-m : ] [-4|-6] [-N] [-M ] [-A string] [-k string] [-S ] [--sni] [-C [, ]] [-T ] [-j método]
check_imap : Este plugin testa conexões IMAP com o host especificado.
Uso: 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 : Este plugin testa os serviços LDAP. Ele pode ser testado com uma pesquisa específica.
Uso: check_ldap -H -b [-p ] [-a ] [-D ] [-P ] [-c ] [-c ] [-t tempo limite] [-2|-3] [-4|-6]
check_ldaps : Este plugin testa os serviços LDAPS. Pode ser testado com uma pesquisa específica.
Uso: check_ldaps -H -b [-p ] [-a ] [-D ] [-P ] [-c ] [-c ] [-t tempo limite] [-2|-3] [-4|-6]
check_mysql : Este plugin testa conexões com um servidor MySQL.
Uso: check_mysql [-d banco de dados] [-H host] [-P porta] [-s soquete] [-u usuário] [-p senha] [-S] [-l] [-a cert] [-k chave ] [-C ca-cert] [-D ca-dir] [-L cifras] [-f optfile] [-g grupo]
check_mysql_query : Este plugin verifica o resultado de uma consulta em relação a níveis de limite predefinidos.
Uso: check_mysql_query -q SQL_query [-w warning] [-c crit] [-H host] [-P port] [-s socket] [-d banco de dados] [-u usuário] [-p senha] [-f optfile ] [-g grupo]
check_pgsql : Testa se um banco de dados PostgreSQL está aceitando conexões.
Uso: check_pgsql [-H ] [-P ] [-c ] [-c ] [-t ] [-d ] [-eu ] [-p ] [-q ] [-C ] [-C ]
check_pop : Este plugin testa as conexões POP com o host especificado.
Uso: 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 : Testa se um servidor RADIUS está aceitando conexões.
Uso: check_radius -H host -F config_file -u nome de usuário -p senha [-P porta] [-t tempo limite] [-r novas tentativas] [-e esperar] [-n nas-id] [-N nas-ip-addr ]
check_simap : Este plugin testa conexões IMAP seguras com o host especificado.
Uso: 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 : Este plugin tentará abrir uma conexão SMTP com o host.
Uso: check_smtp -H host [-p porta] [-4|-6] [-e esperar] [-comando C] [-R resposta] [-f do endereço] [-A authtype -U authuser -P authpass] [-w avisar] [-c crit] [-t tempo limite] [-q] [-F fqdn] [-S] [-D avisar dias que o certificado expira [,crit dias que o certificado expira]] [-v]
check_snmp : Verifica o status de máquinas remotas e obtém informações do sistema via SNMP.
Uso: check_snmp -H -o [-w warning_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regex] [-t timeout] [-e novas tentativas] [-l rótulo] [-u unidades] [-p número da porta] [-d delimitador] [-D delimitador de saída] [-m miblist] [-P versão snmp] [-N contexto] [-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.
Uso: 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 : Tenta conectar-se a um servidor SSH no servidor e porta especificados.
Uso: check_ssh [-4|-6] [-t ] [-r ] [-p ]
check_ssmtp : Este plugin testa conexões SSMTP com o host especificado.
Uso: 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 : Este plugin testa conexões TCP com o host especificado.
Uso: check_tcp -H host -p porta [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Para mais informações, execute o seguinte comando no caminho dos plugins:
nome_do_plugin --Socorro
O Farmguardian usará esses plugins para verificar o estado de saúde dos servidores de backend e gerenciará a saída de erro de execução do plugin executado para determinar o estado do servidor 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 programáveis por administradores de sistema para serem adaptados a qualquer protocolo ou aplicativo.
Este exemplo mostra um plugin personalizado chamado check_load.sh.
#!/bin/bash ### ###comments: ###utilitários snmp devem ser instalados ###snmpd devem ser instalados e configurados nos 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 | cortar -d '.' -f1 | sed s/\ // | sed s/\"//` echo "A verificação de carga da CPU SNMP para $1 é $EXECUTE" # Se o resultado for verdadeiro, saia com 1; erro; else exit = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; then #error output; o servidor está sobrecarregado e o balanceador de carga não enviará mais conexões exit 1 else #, not error o servidor pode aceitar mais conexões exit 0 fi;
Constante #
Quando o Farmguardian executa um plugin, ele pode usar algumas constantes ou tokens como argumentos, como:
HOST. Farmguardian se encarregará de modificar esta constante pelo endereço IP do servidor real.
PORT. Farmguardian se encarregará de modificar esta constante pela porta real do servidor.
Essas constantes podem ser usadas para todos os plugins; o Farmguardian as utilizará para executar a verificação de integridade com os parâmetros reais definidos.
Fazendas #
Nesta aba, você encontrará uma lista de fazendas e serviços que utilizam esta ferramenta de verificação de saúde do Farmguardian.
Fazendas e serviços podem ser atribuídos ou removidos desta verificação de integridade do Farmguardian usando seleções múltiplas com ícones de seta simples ou setas duplas para ativar ou desativar todas as fazendas.

