Zabbix Documentation 4.0

3.04.04.45.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


pt:manual:config:items:itemtypes:calculated

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pt:manual:config:items:itemtypes:calculated [2017/10/06 14:12] (current)
Line 1: Line 1:
 +==== - #7 Itens calculados ====
 +
 +=== - Visão geral ===
 +
 +Com os itens calculados você pode gerar novas informações a partir de dados coletados por outros itens.
 +
 +Assim, itens calculados são uma forma de se criar fontes de dados virtuais. Os dados são periodicamente calculados baseados em uma expressão aritmética. Todos os cálculos são feitos pelo Zabbix Server - nada será calculado pelos agentes ou proxies.
 +
 +O dado resultante será armazenado no banco de dados do Zabbix como qualquer outro item - isso quer dizer que tanto as tabelas de histórico quanto as de médias serão alimentadas para a rápida geração de gráficos. Itens calculados podem ser utilizados em expressões de triggers, referenciados por macros ou outras entidades da mesma forma que qualquer outro item.
 +
 +Para usar os itens calculados, selecione o //Tipo// **Calculado**. ​
 +
 +=== - Campos personalizados ===
 +
 +A **chave** é o identificador único de item por host. Você pode definir qualquer nome de chave, contando que use os caracteres suportados.
 +
 +Deverá ser informada a regra de cálculo no campo //​Formula//​. Virtualmente,​ não existe conexão entre uma fórmula e sua chave. Os parâmetros da chave não serão utilizados na fórmula.
 +
 +A sintaxe de uma simples fórmula pode ser definida como: 
 +  func(<​key>​|<​hostname:​key>,<​parameter1>,<​parameter2>,​...)
 +
 +Onde:
 +
 +^Argumento^Definição^
 +|**func** ​        |Uma das [[pt:​manual:​appendix:​triggers:​functions|funções]] suportadas em uma expressão de trigger: last, min, max, avg, count, etc|
 +|**key** ​    |A chave de um outro item cujo dado seja necessário na fórmula. Podendo ser referenciado como **key** (chave) ou **hostname:​key**.\\ //Nota:// Colocar a **key** entre aspas duplas ("​..."​) é recomendável para evitar erros de análise por conta de espaços ou separadores de valores que poderão existir na chave referenciada.\\ Se a chave a qual estejamos referenciado utilizar-se de aspas duplas, as mesmas deverão ser escapadas pelo caractere "​\"​. Veja o **Exemplo 5** a seguir.|
 +|**parameter(s)** |Qualquer parâmetro adicional que possa ser necessário.|
 +
 +<note tip>​Todos os itens referenciados por uma fórmula de um item calculado deverão existir e possuir algum dado coletado. Outro ponto importante é que, ao contrário do que ocorre nas triggers, os itens referenciados pela fórmula, se tiverem suas chaves alteradas, deverão ter suas chamadas na fórmula manualmente alteradas.</​note>​
 +
 +<note important>​As [[pt:​manual:​config:​macros:​usermacros|Macros de usuário]] na fórmula serão traduzidos se utilizados como referência para um parâmetro ou constante. Por outro lado, elas não serão traduzidas se tentarem utiliza-las como uma função, nome de host, chave ou operador.</​note>​
 +
 +Fórmulas mais complexas poderão utilizar combinação de funções, operadores e colchetes. Você pode utilizar todas as funções e  [[pt:​manual/​config/​triggers/​expression#​operators|operadores]] suportados pelas expressões de triggers. Observe que a sintaxe é um pouco diferente, mas a lógica e a precedência será exatamente a mesma.
 +
 +De forma diferente das expressões de trigger, o Zabbix processa os itens calculados de acordo com seu intervalo de atualização,​ não considerando o recebimento de novos valores.
 +
 +Um item calculado passará para o estado de 'não suportado'​ sob várias circunstâncias:​
 +
 +  - ausência de item(s) referenciado(s)
 +  - sem dados suficientes para calcular uma função
 +  - divisão por zero
 +  - sintaxe inválida
 +
 +<​note>​O suporte aos itens calculados foi introduzido no Zabbix 1.8.1</​note>​
 +
 +=== - Exemplos de uso ===
 +
 +== Exemplo 1 ==
 +
 +Calculando o percentual livre na partição '/'​.
 +
 +Use a função **last**: ​
 +  100*last("​vfs.fs.size[/,​free]"​)/​last("​vfs.fs.size[/,​total]"​)
 +
 +O Zabbix irá usar o último valor livre coletado para a partição e calculará o percentual conforme a fórmula.
 +
 +== Exemplo 2 ==
 +
 +Calcular a média de 10 minutos de valores processados pelo Zabbix.
 +
 +Utilize a função **avg**:
 +  avg("​Zabbix Server:​zabbix[wcache,​values]",​600)
 +
 +Observe que o uso de itens calculados em longos períodos de análise de dados poderá afetar a performance do Zabbix server.
 +
 +== Exemplo 3 ==
 +
 +Calculando o total de banda trafegada em **eth0**.
 +
 +Sumarização de duas funções:
 +  last("​net.if.in[eth0,​bytes]"​)+last("​net.if.out[eth0,​bytes]"​)
 +
 +== Exemplo 4 ==
 +
 +Calculando o percentual do tráfego de entrada.
 +
 +Uma fórmula um pouco mais complexa:
 +  100*last("​net.if.in[eth0,​bytes]"​)/​(last("​net.if.in[eth0,​bytes]"​)+last("​net.if.out[eth0,​bytes]"​))
 +
 +== Exemplo 5 ==
 +
 +Utilizando itens agregados para calcular.
 +
 +Especial tenção sobre a forma que as aspas duplas das chaves são escapadas na fórmula:
 +  last("​grpsum[\"​video\",​\"​net.if.out[eth0,​bytes]\",​\"​last\"​]"​) / last("​grpsum[\"​video\",​\"​nginx_stat.sh[active]\",​\"​last\"​]"​) ​