Forecast e timeleft: faça previsões no Zabbix

Forecast e timeleft: faça previsões no Zabbix

A partir da versão 3.0 do Zabbix dois novos recursos, o forecast e timeleft, permitem fazer previsões sobre análise de dados coletados e criar alertas que antecipem problemas em potenciais. São ótimos também para prever tendências e fazer capacity planning. Neste artigo apresento exemplos simples de como usá-lo.

A função forecast

O forecast (previsão) consiste em analisar dados passados e prever quando este comportamento se tornara um problema de fato, digamos que uma aplicação em seu servidor esta com algum tipo de anomalia e esta gerando arquivos de log que consomem muito espaço em disco, com base nos últimos dados coletados o zabbix consegue analisar e prever que daqui X horas o espaço em disco esgotara caso esse comportamento instável continue.

A desculpa de que não temos bola de cristal não é mais valida rsrsrs, vamos entender como analisar dados do passado para prever o comportamento futuro.

Na função forecast(#6,,1h) estamos prevendo o comportamento do item após uma hora analisando os 6 últimos valores coletados. No exemplo abaixo, é feito uma prospecção em uma hora sobre os últimos cinco itens coletados com o espaço em disco utilizado em uma partição:

 
{Template de disco:vfs.fs.size[{#FSNAME},free].forecast(#5,,1h)}

Onde:

Template de disco = nome do template
vfs.fs.size[{#FSNAME},free] = item do template
forecast = função
(#5,,1h)} = Dados a serem coletados/período de analise. Expressos em m(minutos), h(horas) ou d(dia).
< 10 = Condição da trigger:espaço em disco ocupado pela partição menor que 10%

Para testar a configuração acima, execute o comando abaixo para aumentar gradativamente o consumo do espaço em disco:

 
# dd if=/dev/zero of=/arquivo count=1 bs=100M

O consumo será incrementado em 100 MB a cada minuto. O intervalo de coleta do item também foi definido a cada minuto com base no crescimento das ultimas 5 coletas. Assim a trigger foi disparada alertando que em breve o disco estaria cheio caso o comportamento continuasse.

forecast

Desta forma,  a trigger foi disparada o dd incremental foi encerrado e como não houve mais aumento de tamanho no arquivo gerado o zabbix entendeu que o risco do disco estourar por falta de espaço estava descartado ao menos por enquanto.

 

Análise sobre um período

Seguindo o mesmo conceito usado para configurar a trigger acima podemos aplicar a análise sobre dados em coletados em um período de tempo.

No exemplo baixo analisaremos 2 horas no passado para prever com antecedência de 1 hora antes do disco ficar abaixo de 10% de armazenamento disponível:

 
{Template de disco:vfs.fs.size[{#FSNAME},free].forecast(2h,,1h)}

Podemos criar nossa trigger usando tanto o forecast (valor futuro do item após um determinado tempo de coleta) ou timeleft (tempo necessário para que um item alcance um determinado valor), em nosso exemplo não importa a função escolhida o resultado será o mesmo.

A função timeleft

Usaremos exatamente os mesmos parâmetros citados acima porem desta vez usaremos o timeleft, a função seria:

{Template de disco:vfs.fs.size[{#FSNAME},free].timeleft}

 

Existem alguns itens que são praticamente impossíveis de prever quando se tornaram um problema, como memória e cpu que podem estar operando em níveis aceitáveis e de uma hora para outra subir e “congelar” a maquina. Para outros itens mais previsíveis ou que possam ter um crescimento gradual a função forecast e timeleft se tornam muito úteis.

Lembrando que neste post usamos valores de teste, caso queira implantar o forecast em seu ambiente é recomendável ajustar os valores e a função para a necessidade de seu ambiente.

Anterior PHPeste evento que visa reunir os desenvolvedores, estudantes, entusiastas de PHP
Próxima Evento SAE Brasil 2017

About author

André Ferreira
André Ferreira 2 posts

André Luis Ferreira dos Santos atua como Analista de Infraestrutura Linux e soluções FOSS (Free and Open Source Software) com foco em DevOps e gerencia de configurações, cursa Analise e Desenvolvimento de Sistemas no Centro Universitário IBTA. Detém expertise como instrutor de cursos voltados ao Sistema Operacional Linux, possui Certificação Zabbix, VSTP (VMWare) e LPIC2

View all posts by this author →

Você pode gostar também

DevOps

Terraform #parte2 – Alterando sua infraestrutura de forma incremental

Vimos no post anterior uma introdução ao Terraform e como criar de forma prática e simples uma máquina virtual na cloud da Google – GCP, porém não vimos como realizar

Infraestrutura TI

Wildfly – Domain ou Standalone ? Saiba quando escolher cada um deles !

Qual modo usar? É comum que ao escolhermos a utilização de uma plataforma de middleware como o Wildfly para a execução de nossos aplicativos Java, nos deparamos com a seguinte

Infraestrutura TI

Instalação do Cuda 9 em distribuições Linux baseadas no Ubuntu

Se você deseja trabalhar com algoritmos de Machine Learning, provavelmente precisará usar processamento paralelo para acelerar os resultados dos seus algoritmos. Muitos frameworks como por exemplo, o TensorFlow, já possuem