Previsão de problemas e tendências com Zabbix 3.0: Guia prático

Previsão de problemas e tendências com Zabbix 3.0: Guia prático

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 Descubra o PHPeste: Evento que une amantes da programação PHP
Próxima Congresso SAE BRASIL: 4Linux e a transição para a mobilidade inteligente

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 TI

Guia passo a passo para criar um cluster Hadoop com 3 nodes

Nesse post vou explicar como é possível criar um cluster de hadoop utilizando 3 nodes. Já o que você vai fazer com o hadoop depois é um assunto pra um

Infraestrutura TI

Gerenciando entradas de DNS com Terraform e Protocolo TSIG

Terraform é uma ferramenta da Hashicorp focada em Bootstrapping e inicialização de recursos. Em comparação com Puppet , este é responsável por gerenciar a configuração de uma infraestrutura existente, já o

Infraestrutura TI

Conhecendo o Kernel Linux pelo /proc (parte 3) – Mapeamento de memória virtual

Como vimos nos posts anteriores, o Linux trabalha com conceito de memória virtual, ou seja, cada processo tem seu próprio endereçamento virtual totalmente isolados dos outros processos, porém o que