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

Treinamentos

Descubra o poder do Kubernetes e como ele pode impulsionar suas aplicações

    Kubernetes ou “k8s” para os íntimos, é uma ferramenta de código aberto originalmente desenvolvido pela Google, utilizado para a orquestração de containers, ou seja, para implantação, dimensionamento e

Desenvolvimento

Como usar Linux no Windows sem Dual Boot: Guia Prático do WSL

Se você está começando seus estudos no linux e tem receio de realizar um dual boot em seu computador e correr o risco de perder todos seus arquivos e ou

Cloud

Terraform: A ferramenta definitiva para Infraestrutura como Código

Primeiramente, uma breve descrição sobre o que é “Infraestrutura como Código” ? Infraestrutura como Código, Infra as Code, ou simplesmente IaC, é tratar a infra como um software, desenvolvendo, versionando, testando, depurando