Cálculos agregados são um calculated item que permite coletar informações de vários itens pelo servidor Zabbix e, em seguida, calcular um agregado, dependendo da função agregada utilizada.
Apenas valores inteiros sem sinal e valores de ponto flutuante (tipo de informação) são suportados para itens de cálculo agregado.
Cálculos agregados não exigem nenhum agente em execução no host monitorado.
Para recuperar agregados, você pode:
aggregate_function(function(/host/key,parameter),function(/host2/key2,parameter),...)
Observe que a function
aqui deve ser uma função de histórico/tendência.
aggregate_function(foreach_function(/host/key?[group="host group"],timeperiod))
A função agregada é uma das funções aggregate functions suportadas: avg, max, min, sum, etc.
Um função foreach (por exemplo, avg_foreach, count_foreach, etc.) retorna um valor agregado para cada item selecionado. Os itens são selecionados usando o filtro de item (/host/key?[group="host group"]
), a partir do histórico de itens.
Se alguns dos itens não tiverem dados para o período solicitado, eles serão ignorados no cálculo. Se nenhum item tiver dados, a função retornará um erro.
Para mais detalhes, consulte foreach functions.
Se o resultado agregado for um valor de ponto flutuante, ele será truncado para um inteiro se o tipo de informação do item agregado for Numeric (sem sinal).
Um cálculo agregado pode se tornar não suportado se:
Exemplos de chaves para cálculos agregados.
Espaço em disco total do grupo de host 'MySQL Servers'.
Soma dos valores mais recentes de todos os itens correspondentes a net.if.in[*] no host.
Média de carga de processador (load) do grupo de host 'MySQL Servers'.
Média de 5 minutos do número de consultas por segundo para grupo de host 'MySQL Servers'.
Média de carga de CPU (load) de todos os hosts em múltiplos grupos de host que possuem etiquetas específicas.
avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="Importance:High")]))
Cálculo usado nas somas dos valores mais recentes de um grupo de host inteiro.
sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]))
O número total de itens não suportados no grupo de host 'Zabbix servers'.
##### Exemplos de sintaxe correta/incorreta
Expressões (incluindo chamadas de funções) não podem ser usadas como parâmetros de histórico, tendência ou foreach function. No entanto, essas funções podem ser usadas em outros parâmetros de função (não históricos).
Expressão | Exemplo |
---|---|
Válido | avg(last(/host/key1),last(/host/key2)*10,last(/host/key1)*100) max(avg(avg_foreach(/*/system.cpu.load?[group="Servers A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers B"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers C"],5m))) |
Inválido | sum(/host/key,10+2) sum(/host/key, avg(10,2)) sum(/host/key,last(/host/key2)) |
Observe que, em uma expressão como:
não é possível garantir que ambas as partes da equação sempre terão o mesmo conjunto de valores. Enquanto uma parte da expressão é avaliada, um novo valor para o período solicitado pode chegar, fazendo com que a outra parte da expressão tenha um conjunto de valores diferente.