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

Infraestrutura

PAGILA – Base de dados educativa para PostgreSQL

Quando comecei aprender sobre banco de dados, senti falta de bases de dados prontas para fins de teste com o PostgreSQL. Eu queria aplicar conceitos aprendidos sobre SELECT, INSERT, UPDATE

Destaques

MongoDB: como gerenciar dados com noSQL

Dando continuidade na série de MongoDB, após construir um Cluster de MongoDB usando o passo a passo do desse artigo, vamos agora manipular os dados dentro desse banco, ou como

Infraestrutura

PostgreSQL e MySQL – Os bancos de dados mais utilizados no mercado

Atualmente, existem dois bancos de dados que estão entre os mais usados no mercado. São eles: o PostgreSQL e o MySQL. Saiba mais sobre cada um deles, lendo o post!