Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página inclui conteúdo traduzido automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

1 Cálculos agregados

Visão geral

Os cálculos agregados são um tipo de item calculado que permite coletar informações de vários items pelo servidor Zabbix e, em seguida, calcular um agregado, dependendo da função agregada utilizada.

Os cálculos agregados não exigem que nenhum agent esteja em execução no host monitorado.

Sintaxe

Para recuperar agregados, use uma das funções de agregação suportadas: avg, max, min, sum, etc. Em seguida, adicione a função foreach como o único parâmetro e seu filtro de item para selecionar os itens necessários:

aggregate_function(function_foreach(/host/key?[group="host group"],timeperiod))

Uma 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 do item. Para mais detalhes, consulte funções foreach.

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.

Alternativamente, você pode listar vários itens como parâmetros para agregação:

aggregate_function(function(/host/key,parameter),function(/host2/key2,parameter),...)

Observe que function aqui deve ser uma função de histórico/tendência.

Se o agregado resultar em um valor float, ele será convertido para inteiro se o tipo de informação do item agregado for Numérico (sem sinal).

Macros de usuário e macros de descoberta de baixo nível são suportadas em:

  • parâmetros da chave do item
  • parâmetros da função
  • condições de filtro (nome do grupo de hosts e nome da tag)
  • constantes de expressão

Um cálculo agregado pode se tornar não suportado se:

  • nenhum dos itens referenciados for encontrado (o que pode acontecer se a chave do item estiver incorreta, nenhum dos itens existir ou todos os grupos incluídos estiverem incorretos)
  • não houver dados para calcular uma função

Exemplos de uso

Exemplos de chaves para cálculos agregados.

Exemplo 1

Espaço total em disco do grupo de hosts 'MySQL Servers'.

sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"]))
Exemplo 2

Soma dos valores mais recentes de todos os items que correspondem a net.if.in[*] no host.

sum(last_foreach(/host/net.if.in[*]))
Exemplo 3

Carga média do processador do grupo de hosts 'MySQL Servers'.

avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"]))
Exemplo 4

Média de 5 minutos do número de consultas por segundo para o grupo de hosts 'MySQL Servers'.

avg(avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m))
Exemplo 5

Carga média da CPU em todos os hosts em vários grupos de hosts que possuem as tags 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")]))
Exemplo 6

Cálculo usado nas somas dos valores mais recentes dos items de todo um grupo de hosts.

sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]))
Exemplo 7

O número total de items não suportados no grupo de hosts 'Zabbix servers'.

sum(last_foreach(/*/zabbix[host,,items_unsupported]?[group="Zabbix servers"]))
Exemplos de sintaxe correta/incorreta

Expressões (incluindo chamadas de função) não podem ser usadas como parâmetros de funções 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:

sum(sum_foreach(//resptime[*],5m))/sum(count_foreach(//resptime[*],5m))

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 está sendo avaliada, um novo valor para o período solicitado pode chegar e, então, a outra parte da expressão terá um conjunto diferente de valores.