Criando Item Calculado com Zabbix

Item Calculado

O item calculado é uma forma de transformar os dados recebidos de um host em um novo item através de um cálculo utilizando os operadores aritméticos suportados pelo Zabbix

  • Não é necessário Zabbix Agent instalado e itens do tipo calculado são processados pelo Zabbix Server.

Vamos a um exemplo prático.

Estamos monitorando um servidor Linux e a area responsável por administrar o Sistema Operacional solicitou que fossem notificados quando o servidor estiver mais de 80% de processos no Linux.

Com o template padrão Template OS Linux by Zabbix agent (nesse caso estamos utilizando Zabbix 4.4.4) já temos os itens:

  • Maximum number of processes – Quantidade máxima de processos;
  • Number of processes – Quantidade de processos abertos.

Não temos um item nativo do Zabbix que traga a informação em %.

Essa seria uma oportunidade para aplicar o conhecimento adquirido no artigo Estendendo o Zabbix Agent com UserParameter, entretanto existe uma maneira mas eficaz para fazer isso, o Item Calculado.

Sintaxe:

  • func(<key>|<hostname:key>,<parameter1>,<parameter2>,…)

Onde:

  • func: São as função suportadas nas expressões de triggers: last, min, max, avg, count e etc. Não se preocupe se você não sabe o que é trigger ou não conhece essas funções nós teremos um artigo sobre isso.
  • key: É a chave do item que iremos utilizar para fazer o calculo, podemos utilizar somente a chave_do_item ou hostname:chave_do_item.
  • parameters: São os parâmetros da função, por exemplo se utilizarmos avg temos que passar a média de quanto tempo ? por exemplo 10m.

Criando um item calculado:

1) Anote a chave dos items que irá utilizar no item calculado, o nome deve ser exatamente igual.

No nosso exemplo:

  • kernel.maxproc
  • proc.num

2) Cria um novo item no template:

  • Configuration > Template > Clique no template (No exemplo: Template Module Linux generic by Zabbix agent) > Itens > Create item
  • Configure o item seguindo a imagem abaixo
  • Clique em Add.

Onde:

  • Name: Nome do item
  • Type: Calculated
  • Key: Escolha o nome que você quiser, lembre-se que não pode existir dois itens com a mesma chave no host.
  • Formula: (100*last(“proc.num”))/last(“kernel.maxproc”)
    • Para encontrar a % estamos efetuando uma regra de 3 simples.
  • Type of information: Como sabemos que irá retorna a porcentagem selecionaremos Numeric (float)
  • Units: %
  • Update interval: 10s
    • Para laboratório pode utilizar 10s.
    • Para ambientes em produção escolha com cuidado o intervalo de coleta, pois pode impactar no desempenho do seu ambiente.
  • Applications: General ou escolha uma de sua preferência.

3) Pronto, verifique o latest data e acompanhe a coleta dos dados:

NOTA:

O item calculado pode ficar não suportado em algumas situações:

  • O item de referencia não existe, esta desabilitado, esta associado a um host desabilitado ou é não suportado.
  • Quando não existir dado histórico para o calculo da função.
  • Sintaxe utilizada está incorreta.

Para concluir a solicitação, devemos criar uma trigger, porém esse assunto será abordado em outro artigo.

Espero que tenham gostado e até o próxima.

Deixe uma resposta