Um item calculado permite criar um cálculo baseado nos valores de alguns itens existentes. Por exemplo, você pode querer calcular a média horária de algum valor de item ou calcular o valor total para um grupo de itens. É para isso que serve um item calculado.
Os cálculos podem usar tanto:
Itens calculados são uma forma de criar fontes de dados virtuais. Todos os cálculos são feitos apenas pelo Zabbix server. Os valores são periodicamente calculados com base na expressão aritmética utilizada.
Os dados resultantes são armazenados no banco de dados do Zabbix como para qualquer outro item; tanto valores de histórico quanto de tendências são armazenados e gráficos podem ser gerados.
Se o resultado do cálculo for um valor float, ele será arredondado para um inteiro se o tipo de informação do item calculado for Numérico (sem sinal).
Além disso, se não houver dados recentes no cache e não houver período de consulta definido na função, o Zabbix, por padrão, irá buscar no passado até uma semana para consultar o banco de dados por valores históricos.
Itens calculados compartilham sua sintaxe com expressões de trigger. A comparação com strings é permitida em itens calculados. Itens calculados podem ser referenciados por macros ou outras entidades, assim como qualquer outro tipo de item.
Para usar itens calculados, escolha o tipo de item Calculado.
A key é um identificador único do item (por host). Você pode criar qualquer nome de key usando os símbolos suportados.
A definição do cálculo deve ser inserida no campo Fórmula. Não há conexão entre a fórmula e a key. Os parâmetros da key não são usados na fórmula de nenhuma maneira.
A sintaxe de uma fórmula simples é:
onde:
| function | Uma das funções suportadas: last, min, max, avg, count, etc |
| host | Host do item que é usado para o cálculo. O host atual pode ser omitido (ou seja, como em function(//key,parameter,...)). |
| key | Key do item que é usado para o cálculo. |
| parameter(s) | Parâmetros da função, se necessário. Sufixos de tempo e sufixos de tamanho de memória são suportados. |
Macros de usuário na fórmula serão expandidas se usadas para referenciar um parâmetro de função, parâmetro de filtro de item ou uma constante. Macros de usuário NÃO serão expandidas se referenciar uma função, nome de host, key de item, parâmetro de key de item ou operador.
Uma fórmula mais complexa pode usar uma combinação de funções, operadores e parênteses. Você pode usar todas as funções e operadores suportados em expressões de trigger. A lógica e a precedência dos operadores são exatamente as mesmas.
Diferente das expressões de trigger, o Zabbix processa os itens calculados de acordo com o intervalo de atualização do item, não ao receber um novo valor.
Todos os itens que são referenciados por funções de histórico na fórmula do item calculado devem existir e estar coletando dados. Além disso, se você alterar a key do item de um item referenciado, deverá atualizar manualmente todas as fórmulas que usam essa key.
Um item calculado pode se tornar não suportado em vários casos:
Calculando a porcentagem de espaço livre em disco em '/'.
Uso da função last:
O Zabbix pegará os valores mais recentes para os espaços livres e totais em disco e calculará a porcentagem de acordo com a fórmula fornecida.
Calculando uma média de 10 minutos do número de valores processados pelo Zabbix.
Uso da função avg:
Observe que o uso extensivo de items calculados com longos períodos de tempo pode afetar o desempenho do Zabbix server.
Calculando a largura de banda total em eth0.
Soma de duas funções:
Calculando a porcentagem do tráfego de entrada.
Expressão mais complexa:
Veja também: Exemplos de cálculos agregados