LSLB | Fazendas | Atualizar | Guardião da Fazenda

PUBLICADO EM 2 de outubro de 2017

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.

zevenet lslb lb adc verificação de saúde do guardião da fazenda

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:

check_http_fg_example

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.

Compartilhar no:

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

Esse artigo foi útil?

Artigos Relacionados