Configurando o balanceamento de uma nova aplicação no Big-IP, temos sempre que nos preocupar com o status de cada servidor/serviço que atende à mesma.
Dentro do Big-IP, temos duas formas de monitorar servidores e serviços. Uma delas é por meio do Node (servidor), a outra é pelo Pool Member (servidor e porta). Nas duas opções, temos a possibilidade de utilizarmos múltiplos monitores. Desta forma, podemos garantir que o serviço está em pleno funcionamento por meio da dupla-checagem.
Neste artigo, exibirei esta forma de monitorarmos os servidores/serviços com múltiplos monitores. Ao final do mesmo, você será capaz de configurar múltiplos monitores para um objeto (servidor, serviço), e saberá identificar qual monitor foi responsável pela mudança de status dos Nodes e Pool Members referentes à aplicação.
Monitorando Nodes
Para associar um Monitor e iniciar o processo de health-check de um Node você deve seguir os seguintes passos:
Acesse o menu ‘Local Traffic > Nodes > Node List’
Selecione o Node desejado, clicando sobre seu nome. Uma nova tela se abrirá.
Imagem02: Node Properties
No quadro ‘Configuration’, campo ‘Health Monitors’ selecione ‘Node Specific’.
Imagem03: Node Specific
É nesta opção que selecionamos o monitor desejado. Podemos selecionar um ou mais monitores de acordo com a necessidade. Vale lembrar que quando selecionamos múltiplos monitores, devemos nos atentar à quantidade mínima de monitores necessária para que o servidor/serviço seja considerado saudável.
Para configurar a quantidade de monitores mínima para um servidor/serviço, é necessário alterar o campo ‘Availability Requirement’, selecionando a opção ‘At Least…’. Dentro desta opção, podemos definir a quantidade mínima de monitores de forma numérica. Como mostra a imagem abaixo:
Imagem04: Node Specific
Ao Clicar em ‘Update’, as configurações selecionadas serão aplicadas ao Node.
Monitorando Pool Member
Para associar um Monitor e iniciar o processo de health-check de um Pool Member você deve seguir os seguintes passos:
Acesse o menu ‘Local Traffic > Pools > Pool List’
Imagem05: Pool List
Selecione o Pool desejado, clicando sobre seu nome. Uma nova tela se abrirá.
No campo ‘Configuration’, selecione ‘Advanced’. Em ‘Health Monitors’, selecione o monitor desejado.
Imagem07: Advanced Configuration
Como visto anteriormente em Nodes, é nesta opção que selecionamos o monitor desejado. Dentro do Pool também podemos selecionar um ou mais monitores, de acordo com a necessidade. Como mostra a imagem abaixo:
Imagem08: Pool Health Monitors
Ao Clicar em ‘Update’, as configurações selecionadas serão aplicadas ao Pool.
Determinando qual Monitor causou a mudança de status de um serviço
Com os procedimentos demonstrados acima, podemos criar uma monitoração mais precisa e confiável em uma aplicação.
Ao utilizar um monitor para checar a saúde da aplicação, o processo ‘mcpd’ gera uma mensagem de log sempre que um Pool, Pool Member ou Node têm seus status alterados. Esta mensagem contém detalhes específicos do monitor que causou a mudança de status do objeto.
Nos passos a seguir, veremos como identificar qual monitor gerou a queda do Pool, Pool Member e Node.
Acesse o Big-IP em modo CLI. Em seguida, execute o comando:
# cat /var/log/ltm | grep “monitor status”
O retorno do comando, deve se parecer com o exemplo abaixo:
Nov 10 16:47:25 bigip1 notice mcpd[7678]: 01070638:5: Pool /Common/pool_teste member /Common/linux2:80 monitor status down. [ /Common/gateway_icmp: down, /Common/monitor_http: down ] [ was node down for 0hr:0min:17sec ]
Conforme exemplo citado, podemos visualizar qual monitor causou a indisponibilidade. No caso, ambos monitores causaram a indisponibilidade do objeto em questão.
Assim como os exemplos exibidos neste artigo, existem diversos monitores que podem ser associados aos objetos (Pool, Member, Node), a fim de criar uma monitoração por múltiplos monitores.
Para que a checagem seja precisa, é de extrema importância a configuração do campo ‘At Least’, uma vez que, somente por meio dele, podemos dizer ao Big-IP quantos monitores são necessários para que o objeto seja considerado ativo. O campo deve ser alterado de acordo com a necessidade de cada serviço/servidor.
Vale lembrar, que quanto mais específico e customizado é o Monitor, mais assertiva é sua utilização para monitoração.