Blog Agility

F5 Big-IP – Health-Check das aplicações com múltiplos Monitores

F5 Big-IP – Health-Check das aplicações com múltiplos Monitores

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’

2015_08_VitorGasparini_Multiplos_Monitors_01
Imagem01: Node List

Selecione o Node desejado, clicando sobre seu nome. Uma nova tela se abrirá.

2015_09_VitorGasparini_Multiplos_Monitors_02
Imagem02: Node Properties

No quadro ‘Configuration’, campo ‘Health Monitors’ selecione ‘Node Specific’.

2015_09_VitorGasparini_Multiplos_Monitors_07
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:

2015_09_VitorGasparini_Multiplos_Monitors_04
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’

2015_09_VitorGasparini_Multiplos_Monitors_05
Imagem05: Pool List

Selecione o Pool desejado, clicando sobre seu nome. Uma nova tela se abrirá.

2015_09_VitorGasparini_Multiplos_Monitors_06
Imagem06: Pool Properties

No campo ‘Configuration’, selecione ‘Advanced’. Em ‘Health Monitors’, selecione o monitor desejado.

2015_09_VitorGasparini_Multiplos_Monitors_07
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:

2015_09_VitorGasparini_Multiplos_Monitors_08
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.