MOTIVAÇÃO 

Forecast e timeleft com zabbix

Olá!!! Este post foi inspirado em uma apresentação realizada no Zabbix Meetup RJ, em novembro de 2019. Devido à alta relevância do tema e sua aplicação no ambiente corporativo público e privado, descreveremos os principais pontos. 

 

INTRODUÇÃO 

Itens calculados no Zabbix já existem desde versões remotas da ferramenta, porém, pela facilidade de uso imediato após instalação e a aplicação indiscriminada de Templates prontos, que trazem promessas de monitoramentos diversos da Camada Operacional do ambiente, funções importantes acabam sendo esquecidas! Vamos trazê-las ao ar novamente com a proposta de alguns cenários, para reflexão e aprendizado. 

 

PLANEJAMENTO DE CAPACIDADE 

Monitorar a Camada Operacional de um ambiente de TIC é importante, mas não é tudo! Não pode ser tudo, não pode ser o resumo de um trabalho de monitoramento. Seria desperdício de funções, subutilização da nossa valiosa ferramenta e talvez um ponto negativo para nossa administração. 

Os bits e bytes que todo administrador Zabbix gosta de escovar todos os dias, tornam o trabalho divertido e propõe um aprendizado constante, porém, devemos ir além. 

Monitorar algo para obter métricas diversas como uso de CPU, memória, tráfego de rede, espaços em disco, dentre tantas outras, é importante e é a base para que possamos monitorar a próxima camada, a tática. Nesta próxima camada, monitoramos as aplicações de nossos usuários e incluímos um pouco mais de “inteligência” no monitoramento. É aí que entram as funções Forecast e Timeleft do Zabbix. 

Zabbix torna-se uma peça fundamental agora para o Planejamento de Capacidade de uma organização, pois, com base nos dados já existentes (por já terem sido coletados pelos templates, por exemplo), é possível ter uma base histórica para cálculos estatísticos futuros. Vamos às funções: 

 

FUNÇÕES FORECAST E TIMELEFT 

Estas duas funções presentes para uso em itens calculados são a chave para o Planejamento de Capacidade com o Zabbix, porém, a inteligência é de duplo fator: Quem define o período de observação de um dado histórico e quão longe no horizonte a previsão deve chegar, sou eu, você, o administrador do ambiente, ou talvez, exista uma regra de negócio que já defina esta abordagem. O resto é com o Zabbix. Podemos imaginar assim: 

Temos um Storage que atende diversos clientes. Precisamos saber quando ele vai precisar de upgrade para que possamos programar sua expansão de armazenamento. Qual a margem ideal? Qual o momento ideal? Não é possível responder à essa pergunta, pois cada negócio, cada organização pode enxergar isso de diferentes formas, no entanto, vamos sugerir para o exercício: 

Forecast → Dizemos ao Zabbix um período de tempo para observação, informando para o quão longe no horizonte queremos a previsão dos dados. Exemplo: 

forecast(“vfs.fs.size[/,free]”,1d,,1y) # O valor será retornado em bytes, assim como no item! 


Neste caso, com a função forecast, dizemos ao Zabbix que 
observe 1 dia de consumo do Storage e nos faça a previsão para 1 ano à frente. 


Timeleft 
 Dizemos ao Zabbix um período de tempo para observação, informando o valor que queremos alcançar na previsão, aguardando que ele nos informe quando este valor será alcançado. Exemplo: 

timeleft(“vfs.fs.size[/,pfree]”,1d,,50) # O valor será retornado em segundos! 

Neste caso, com a função timeleft, dizemos ao Zabbix que observe 1 dia de dados já coletados de percentual livre e nos faça uma previsão: Quando meu Storage (representado simbolicamente pela partição “/”) alcançará metade de sua capacidade. Assim poderei planejar sua expensão.
Todos estes dados podem ser vistos em gráficos, combinados de várias formas! 

 

DESAFIO SAUDÁVEL 

Imagine se em sua organização pudesse haver um monitor com os dados destes itens calculados que respondessem às seguintes perguntas: 


1- Observando 6 meses de consumo de nosso Storage, como estaremos daqui há: 

1 semana: forecast(“vfs.fs.size[/,free]”,180d,,1w) 

1 mês: forecast(“vfs.fs.size[/,free]”,180d,,30d) 

1 ano: forecast(“vfs.fs.size[/,free]”,180d,,1y) 

5 anos: forecast(“vfs.fs.size[/,free]”,180d,,5y) 


2- Observando o percentual livre do Storage por 6 meses, quando alcançaremos os percentuais abaixo: 

50% livres: timeleft(“vfs.fs.size[/,pfree]”,180d,,50) 

30% livres: timeleft(“vfs.fs.size[/,pfree]”,180d,,30) 

10% livres: timeleft(“vfs.fs.size[/,pfree]”,180d,,10) 

0% livres: timeleft(“vfs.fs.size[/,pfree]”,180d,,0) 

 

CONCLUSÃO 

Embora não venham em templates, inicialmente, há sempre a possibilidade de criarmos nossos próprios templates e isso também nos dá a chance de implementarmos as regras do nosso negócio. Crie suas LLDs ou altere as existentes para que todos os discos possam já ter a visão de consumo futura, logo que são descobertos (é preciso ter dados já coletados para que as funções tenham previsão mais assertivas). 

Mudanças bruscas de consumo ou liberação de disco, neste caso, também vão refletir nos cálculos estatísticos então, é importante ter à sua frente a visão do resultado dos cálculos aqui propostos. 

Combine o que aplicamos acima (Trends Predictions) com alertas (Triggers Predictions), que podem também ser construídas com as funções forecast e timeleft. 

Combine as triggers criadas com ações do Zabbix! Avise aos gestores que o Storage da organização precisará passar por upgrade em um determinado momento! Isso gera valor agregado ao monitoramento. 

Implemente esta inteligência em seu monitoramento e mude a forma como os gestores olham para os ativos que precisam passar por upgrades! 

Conheça nossos treinamentos.

 

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