1 Funções agregadas
Exceto quando indicado de outra forma, todas as funções listadas aqui são suportadas em:
As funções agregadas podem trabalhar com:
- histórico de items, por exemplo,
min(/host/key,1h) - funções foreach como
o único parâmetro, por exemplo,
min(last_foreach(/*/key))(apenas em itens calculados; não pode ser usado em triggers)
As funções são listadas sem informações adicionais. Clique na função para ver os detalhes completos.
| Função | Descrição |
|---|---|
| avg | O valor médio de um item dentro do período de avaliação definido. |
| bucket_percentile | Calcula o percentil a partir dos buckets de um histograma. |
| count | A contagem de valores em um array retornado por uma função foreach. |
| histogram_quantile | Calcula o φ-quantil a partir dos buckets de um histograma. |
| item_count | A contagem de itens existentes na configuração que correspondem aos critérios de filtro. |
| kurtosis | A "caudacidade" da distribuição de probabilidade nos valores coletados dentro do período de avaliação definido. |
| mad | O desvio absoluto da mediana nos valores coletados dentro do período de avaliação definido. |
| max | O maior valor de um item dentro do período de avaliação definido. |
| min | O menor valor de um item dentro do período de avaliação definido. |
| skewness | A assimetria da distribuição de probabilidade nos valores coletados dentro do período de avaliação definido. |
| stddevpop | O desvio padrão da população nos valores coletados dentro do período de avaliação definido. |
| stddevsamp | O desvio padrão da amostra nos valores coletados dentro do período de avaliação definido. |
| sum | A soma dos valores coletados dentro do período de avaliação definido. |
| sumofsquares | A soma dos quadrados nos valores coletados dentro do período de avaliação definido. |
| varpop | A variância populacional dos valores coletados dentro do período de avaliação definido. |
| varsamp | A variância amostral dos valores coletados dentro do período de avaliação definido. |
Parâmetros comuns
/host/keyé um parâmetro obrigatório comum para as funções que referenciam o histórico do item do host(sec|#num)<:deslocamento de tempo>é um parâmetro comum para as funções que referenciam o histórico do item do host, onde:- sec - período de avaliação máximo em segundos (sufixos de tempo podem ser usados), ou
- #num - intervalo de avaliação máximo nos últimos valores coletados (se precedido por um símbolo de hash)
- deslocamento de tempo (opcional) permite mover o ponto de avaliação para trás no tempo. Veja mais detalhes sobre como especificar o deslocamento de tempo.
Detalhes da função
Algumas observações gerais sobre os parâmetros da função:
- Os parâmetros da função são separados por vírgula
- Parâmetros opcionais da função (ou partes do parâmetro) são indicados por
<> - Parâmetros específicos da função são descritos com cada função
- Os parâmetros
/host/keye(sec|#num)<:time shift>nunca devem ser colocados entre aspas
avg(/host/key,(sec|#num)<:time shift>)
O valor médio de um item dentro do período de avaliação definido.
Tipos de valor suportados: Float, Integer.
Funções foreach suportadas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parâmetros: veja parâmetros comuns.
O deslocamento de tempo é útil quando há necessidade de comparar o valor médio atual com o valor médio de algum tempo atrás.
Exemplos:
avg(/host/key,1h) #o valor médio da última hora até agora
avg(/host/key,1h:now-1d) #o valor médio de uma hora de 25 horas atrás até 24 horas atrás a partir de agora
avg(/host/key,#5) #o valor médio dos cinco valores mais recentes
avg(/host/key,#5:now-1d) #o valor médio dos cinco valores mais recentes, excluindo os valores recebidos nas últimas 24 horas
bucket_percentile(filtro de item,período de tempo,porcentagem)
Calcula o percentil a partir dos buckets de um histograma.
Parâmetros:
- filtro de item - veja filtro de item;
- período de tempo - veja período de tempo;
- porcentagem - porcentagem (0-100).
Comentários:
- Suportado apenas em items calculados;
- Esta função é um alias para
histogram_quantile(porcentagem/100, bucket_rate_foreach(filtro de item, período de tempo, 1)).
count(func_foreach(item filter,<período de tempo>),<operador>,<padrão>)
A contagem de valores em um array retornado por uma função foreach.
Funções foreach suportadas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parâmetros:
- func_foreach - função foreach para a qual o número de valores retornados deve ser contado. Veja funções foreach para detalhes. Observe que count_foreach e bucket_rate_foreach suportam parâmetros adicionais.
- item filter - veja filtro de item;
- período de tempo - veja período de tempo;
- operador (deve estar entre aspas duplas).
operadoressuportados:
eq - igual
ne - diferente
gt - maior
ge - maior ou igual
lt - menor
le - menor ou igual
like - corresponde se contiver o padrão (case-sensitive)
bitand - AND bit a bit
regexp - correspondência case-sensitive da expressão regular fornecida empadrão
iregexp - correspondência case-insensitive da expressão regular fornecida empadrão - padrão - o padrão necessário (argumentos do tipo string devem estar entre aspas duplas); suportado se operador for especificado no terceiro parâmetro.
Comentários:
- Usar count() com uma função foreach relacionada ao histórico (max_foreach, avg_foreach, etc.) pode levar a implicações de desempenho, enquanto usar exists_foreach(), que funciona apenas com dados de configuração, não terá esse efeito.
- Os parâmetros opcionais operador ou padrão não podem ser deixados vazios após uma vírgula, apenas totalmente omitidos.
- Com bitand como terceiro parâmetro, o quarto parâmetro
padrãopode ser especificado como dois números, separados por '/': numero_para_comparar/mascara. count() calcula o "AND bit a bit" do valor e da máscara e compara o resultado com numero_para_comparar. Se o resultado do "AND bit a bit" for igual a numero_para_comparar, o valor é contado.
Se numero_para_comparar e máscara forem iguais, apenas a máscara precisa ser especificada (sem '/'). - Com regexp ou iregexp como terceiro parâmetro, o quarto parâmetro
padrãopode ser uma expressão regular comum ou global (começando com '@'). No caso de expressões regulares globais, a diferenciação entre maiúsculas e minúsculas é herdada das configurações da expressão regular global. Para fins de correspondência regexp, valores float sempre serão representados com 4 dígitos decimais após o '.'. Observe também que, para números grandes, a diferença na representação decimal (armazenada no banco de dados) e binária (usada pelo Zabbix server) pode afetar o 4º dígito decimal.
Exemplos:
count(max_foreach(/*/net.if.in[*],1h)) #o número de itens net.if.in que receberam dados na última hora até agora
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #o número de sistemas de arquivos com mais de 95% do espaço em disco usado
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Calcula o φ-quantil a partir dos buckets de um histograma.
Função foreach suportada: bucket_rate_foreach.
Parâmetros:
- quantile - 0 ≤ φ ≤ 1;
- bucketN, valueN - pares de parâmetros inseridos manualmente (>=2) ou a resposta de bucket_rate_foreach.
Comentários:
- Suportado apenas em items calculados;
- Corresponde funcionalmente ao 'histogram_quantile' do PromQL;
- Retorna -1 se os valores do último bucket 'Infinity' ("+inf") forem iguais a 0.
Exemplos:
histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf]))
histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))
item_count(item filter)
A contagem de items existentes na configuração que correspondem aos critérios do filtro.
Tipo de valor suportado: Integer.
Parâmetro:
- item filter - critérios para seleção de item, permite referência por grupo de hosts, host, chave do item e tags. Caracteres curinga são suportados. Veja item filter para mais detalhes.
Comentários:
- Suportado apenas em items calculados;
- Funciona como um alias para a função count(exists_foreach(item_filter)).
Exemplos:
item_count(/*/agent.ping?[group="Host group 1"]) #o número de hosts com o item *agent.ping* no "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)
A "cauda" da distribuição de probabilidade nos valores coletados dentro do período de avaliação definido. Veja também: Curtose.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
kurtosis(/host/key,1h) #curtose para a última hora até agora
mad(/host/key,(sec|#num)<:time shift>)
O desvio absoluto da mediana nos valores coletados dentro do período de avaliação definido. Veja também: Desvio absoluto da mediana.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
mad(/host/key,1h) #desvio absoluto da mediana para a última hora até agora
max(/host/key,(sec|#num)<:time shift>)
O maior valor de um item dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer.
Funções foreach suportadas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
max(/host/key,1h) - min(/host/key,1h) #calcula a diferença entre os valores máximo e mínimo dentro da última hora até agora (o delta dos valores)
min(/host/key,(sec|#num)<:time shift>)
O menor valor de um item dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer.
Funções foreach suportadas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
max(/host/key,1h) - min(/host/key,1h) #calcula a diferença entre os valores máximo e mínimo dentro da última hora até agora (o delta dos valores)
skewness(/host/key,(sec|#num)<:time shift>)
A assimetria da distribuição de probabilidade nos valores coletados dentro do período de avaliação definido. Veja também: Assimetria.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
skewness(/host/key,1h) #a assimetria para a última hora até agora
stddevpop(/host/key,(sec|#num)<:time shift>)
O desvio padrão da população nos valores coletados dentro do período de avaliação definido. Veja também: Desvio padrão.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
stddevpop(/host/key,1h) #o desvio padrão da população para a última hora até agora
stddevsamp(/host/key,(sec|#num)<:time shift>)
O desvio padrão amostral nos valores coletados dentro do período de avaliação definido. Veja também: Desvio padrão.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Pelo menos dois valores de dados são necessários para que esta função funcione.
Exemplo:
stddevsamp(/host/key,1h) #o desvio padrão amostral para a última hora até agora
sum(/host/key,(sec|#num)<:time shift>)
A soma dos valores coletados dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer.
Funções foreach suportadas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
sum(/host/key,1h) #a soma dos valores da última hora até agora
sumofsquares(/host/key,(sec|#num)<:time shift>)
A soma dos quadrados dos valores coletados dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
sumofsquares(/host/key,1h) #a soma dos quadrados para a última hora até agora
varpop(/host/key,(sec|#num)<:time shift>)
A variância populacional dos valores coletados dentro do período de avaliação definido. Veja também: Variância.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Exemplo:
varpop(/host/key,1h) #a variância populacional para a última hora até agora
varsamp(/host/key,(sec|#num)<:time shift>)
A variância amostral dos valores coletados dentro do período de avaliação definido. Veja também: Variance.
Tipos de valores suportados: Float, Integer.
Função foreach suportada: last_foreach.
Parâmetros: veja parâmetros comuns.
Pelo menos dois valores de dados são necessários para que esta função funcione.
Exemplo:
varsamp(/host/key,1h) #a variância amostral para a última hora até agora