Motivação

Baseline com zabbix: Em artigos anteriores, falamos sobre ambientes recém implementados e a necessidade de planejar desde o início os cenários que podem ganhar escala junto com seu negócio ou do seu cliente. Também comentamos que monitorar um ambiente de TIC apenas aplicando templates padrões podem induzir administradores a entendimentos errôneos sobre o contexto operacional da organização. É preciso observar antes de apontar um problema. Este artigo trata exatamente esta abordagem, monitorar observando, sem alertar indiscriminadamente qualquer alteração nas métricas coletadas do ambiente. 

Boa leitura!

Baseline 

Baseline é o termo usado para estabelecer um padrão de comportamento. Em nosso caso, um padrão de comportamento em nosso ambiente de TIC. Como assim? Para exemplificar, vamos simplificar! 

Ativo: Servidor de Intranet 

Monitoramento: Tráfego da rede de dados. 

Comportamento: Neste host, o tráfego de dados de entrada e saída variam conforme as atividades dos usuários da empresa, por exemplo, acessando a Intranet em vários momentos do dia, em horário administrativo. 

Cenário 1: Dia normal de trabalho com matérias simples sendo publicadas, informativos.

 

Acima, temos a seguinte leitura: 

No dia 11/11/2019, terça-feira, durante o horário comercial, das 08hs às 18hs, maior tráfego de rede esteve em: 

Incomming = 13.02 Mbps (tendo o valor máximo chegado à 19.47 Mbps) 

Outgoing = 3.09 Mbps 

Vamos tomar este valor como base e vejamos o próximo cenário. 

Cenário 2: Dia normal de trabalho, porém, há uma publicação “bomba” na Intranet e todos querem ver a nova notícia.

Acima, temos a seguinte leitura: 

No dia 11/11/2019, terça-feira, durante o horário comercial, das 08hs às 18hs, maior tráfego de rede esteve em: 

Aplicando novamente um zoom no horário comercial, vemos que as mesmas médias são: 

Incomming = 31.63 Mbps (tendo o valor máximo chegado à 42.07 Mbps) 

Outgoing = 4.64 Mbps 

Leitura analítica inicial: no mesmo dia, 1 mês depois, vimos que o tráfego havia aumentado uma escala aproximada de 300%. Este valor não pode ser considerado normal. O que explica tal tráfego de rede? 

Questão: 

O que é um problema? Para dizermos que há uma anomalia no tráfego de entrada ou saída de nosso servidor de Intranet, devemos tomar como base o cenário em que não há anomalia, ou seja, já temos uma ideia de baseline por termos observado o mesmo servidor em vários momentos diferentes de um dia normal de trabalho, sendo capazes de facilmente identificar quando algo diferente acontece.  

Análise: 

Agora, precisamos de um gráfico único que nos informe os valores atuais, se comparados aos valores de 30 dias atrás. Não teremos, a não ser que criemos um “item calculado” com deslocamento de tempo (timeshift), para nos exibir a informação que desejamos. 

Para construirmos tais itens, vamos idealizar alguns pontos:
 

1- Precisamos do valor atual: para este item no Zabbix, o template padrão de S.O. é capaz de realizar a coleta; 
2- Qual a média do tráfego dos últimos 10 minutos? 
3- Qual a média do tráfego dos últimos 10 minutos, mas há 24hs atrás (deslocamento de tempo, ou timeshift)? 
4- Qual a média do tráfego dos últimos 10 minutos, mas há 7 dias atrás? 
5- Qual a média do tráfego dos últimos 10 minutos, mas há 30 dias atrás? 
6- Qual a média do tráfego dos últimos 10 minutos, mas há 365 dias atrás? 

Vamos construir ao menos 5 itens calculados para responder às questões. 

Construindo os itens calculados: 

2- Média de 10 minutos dos tráfegos de entrada e saída. 

O mesmo para o tráfego de saída:

3- Média de 10 minutos, se comparados à 24 horas passadas. 

As fórmulas seguem as seguintes lógicas: 

avg(“net.if.in[eth0]”,10m,24h) 

avg(“net.if.out[eth0]”,10m,24h) 

4- Média de 10 minutos, há 7 dias atrás. 

avg(“net.if.in[eth0]”,10m,7d) 

avg(“net.if.out[eth0]”,10m,7d) 

5- Média de 10 minutos, há 30 dias atrás. 

avg(“net.if.in[eth0]”,10m,30d) 

avg(“net.if.out[eth0]”,10m,30d) 

6- Média de 10 minutos, há 1 ano atrás. 

avg(“net.if.in[eth0]”,10m,365d) 

avg(“net.if.out[eth0]”,10m,365d) 

Observando  

Criados os itens calculados, temos não apenas nosso monitoramento, como também nosso período de “observabilidade” dos dados coletados para fins estatísticos e avaliações. Ainda é possível criar gráficos e incluir tais itens em regras LLD de nossos templates, facilitando nossa tarefa, padronizando e normatizando nosso procedimento de observação. 

Também é necessário criticar os dados, criando as triggers. Esta tarefa não será descrita aqui por diversos motivos, sendo 2 deles a particularidade de cada negócio e também a abrangência do tema, que será descrito em outro artigo. 

Após a criação de alguns itens calculados, é possível receber um feedback como este:

mensagem é clara. Criamos um item e não temos ainda dados suficientes para observar; logo que os tivermos, o item será ativado e poderemos seguir observando nosso ambiente. 

Em “Monitoring/Latest data”, podemos observar o resultado do item calculado que já temos e no futuro, os próximos:

Quanto ao tráfego de entrada: 

Nossa média de 10 minutos de observação é condizente com o último valor da média atual. Não há anomalias até aqui. 

O mesmo para o tráfego de saída:

No futuro, teremos todos os itens abaixo em pleno funcionamento:

Conclusão 

Podemos criar períodos de observabilidade com base em nossos interesses de monitoramento. 

Por enquanto, nosso olhar clínico usará os dados do Zabbix para fazer a análise. Na versão 5.0 LTS, é previsto que o próprio Zabbix sugira a observação de anomalias com base em dados discrepantes. Vamos ficar de olho e até lá, implementar os itens calculados que podem nos auxiliar na tarefa além dos templates. 

Construa gráficos, telas, altere LLDs e potencialize o uso de seu Zabbix. 

Conheça nossos treinamentos.

Bons estudos!

Paulo R. Deolindo Jr.

Paulo R. Deolindo Jr.

Zabbix Trainer

Graduado em Tecnologia da Informação, Pós-graduado em Produção e Sistemas IFF – Instituto Federal de Educação, Ciência e Tecnologia Fluminense e pós-graduado pela Unisul (PR) no curso de Gestão de Projetos de Tecnologia da Informação. Atua confeccionando e ministrando treinamentos com foco em tecnologias Open Source, como Zabbix, Zimbra, Bacula, Gestão e Segurança em Servidores Linux, dentre outras.

 

  • [2017] – Linux Professional Institude Certified
  • [2014] – Zabbix Certified Professional
  • [2014] – Zabbix Certified Specialist
  • [2013] – Zimbra Collaboration Suite