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.

4 Funções de histórico

Todas as funções listadas aqui são suportadas em:

As funções são listadas sem informações adicionais. Clique na função para ver os detalhes completos.

Função Descrição
change A quantidade de diferença entre o valor anterior e o mais recente.
changecount O número de alterações entre valores adjacentes dentro do período de avaliação definido.
count O número de valores dentro do período de avaliação definido.
countunique O número de valores únicos dentro do período de avaliação definido.
find Encontra uma correspondência de valor dentro do período de avaliação definido.
first O primeiro (mais antigo) valor dentro do período de avaliação definido.
firstclock O timestamp do primeiro (mais antigo) valor dentro do período de avaliação definido.
fuzzytime Verifica quanto o tempo do agent passivo difere do tempo do Zabbix server/proxy.
last O valor mais recente.
lastclock O timestamp do N-ésimo valor mais recente dentro do período de avaliação definido.
logeventid Verifica se o ID do evento da última entrada de log corresponde a uma expressão regular.
logseverity A severidade do log da última entrada de log.
logsource Verifica se a origem do log da última entrada de log corresponde a uma expressão regular.
logtimestamp O timestamp da mensagem de log do N-ésimo valor de item de log mais recente.
monodec Verifica se houve uma diminuição monótona nos valores.
monoinc Verifica se houve um aumento monótono nos valores.
nodata Verifica se não há dados recebidos.
percentile O percentil P de um período, onde P (porcentagem) é especificado pelo terceiro parâmetro.
rate A taxa média por segundo do aumento em um contador monótono dentro do período de tempo 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)<:time shift> é 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 uma cerquilha)
    • time shift (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/key e (sec|#num)<:deslocamento de tempo> nunca devem ser colocados entre aspas
change(/host/key)

A quantidade de diferença entre o valor anterior e o mais recente.
Tipos de valores suportados: Float, Integer, String, Text, Log.
Para strings retorna: 0 - valores são iguais; 1 - valores diferem.

Parâmetros: veja parâmetros comuns.

Comentários:

  • A diferença numérica será calculada, conforme visto nestes valores de exemplo recebidos ('valor anterior' e 'valor mais recente' = diferença):
    '1' e '5' = +4
    '3' e '1' = -2
    '0' e '-2.5' = -2.5.
  • Em triggers, útil para capturar picos repentinos (ou quedas), reinicializações de contadores, transições de estado numérico.
  • Veja também: abs para comparação.

Exemplos:

change(/host/system.uptime)<0 #a alteração no tempo de atividade do sistema foi negativa desde o último valor (indicando uma reinicialização)
       change(/host/system.cpu.load[all,avg1])>2 #a carga da CPU (por um minuto) aumentou em mais de 2 desde o último valor
       change(/host/vfs.fs.size[/,free])<-1G #o espaço livre em disco caiu mais de 1 GB entre as verificações
changecount(/host/key,(sec|#num)<:time shift>,<mode>)

O número de alterações entre valores adjacentes dentro do período de avaliação definido.
Tipos de valor suportados: Float, Integer, String, Text, Log.

Parâmetros:

  • Veja parâmetros comuns
  • mode (deve estar entre aspas duplas) - valores possíveis: all - conta todas as alterações (padrão); dec - conta apenas as diminuições; inc - conta apenas os aumentos

Comentários:

  • Para tipos de valor não numéricos, o parâmetro mode é ignorado.
  • Em triggers, útil para capturar mudanças frequentes de estado (indicando instabilidade).

Exemplos:

changecount(/host/icmpping,10m)>5 #o status do ping mudou mais de 5 vezes em 10 minutos
       changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #o estado operacional da eth0 mudou mais de 5 vezes em uma hora
       changecount(/host/proc.num[httpd],15m)>10 #o número de processos httpd mudou mais de 10 vezes em 15 minutos
       changecount(/host/key,#10,"inc") #o número de aumentos de valor (em relação ao valor adjacente) entre os últimos 10 valores
       changecount(/host/key,24h,"dec") #o número de diminuições de valor (em relação ao valor adjacente) nas últimas 24 horas até agora
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

O número de valores dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

  • Veja parâmetros comuns
  • operator (deve ser colocado entre aspas duplas) operators suportados:
    eq - igual (padrão para integer, float)
    ne - diferente
    gt - maior
    ge - maior ou igual
    lt - menor
    le - menor ou igual
    like (padrão para string, text, log) - corresponde se contiver o padrão (case-sensitive)
    bitand - AND bit a bit
    regexp - correspondência case-sensitive da expressão regular fornecida em pattern
    iregexp - correspondência case-insensitive da expressão regular fornecida em pattern
  • pattern - o padrão necessário (argumentos de string devem ser colocados entre aspas duplas)

Comentários:

  • Itens do tipo float correspondem com a precisão de 2.22e-16.
  • like não é suportado como operador para valores inteiros.
  • like e bitand não são suportados como operadores para valores float.
  • Para valores string, text e log, apenas os operadores eq, ne, like, regexp e iregexp são suportados.
  • Com bitand como operador, o quarto parâmetro pattern pode ser especificado como dois números, separados por '/': number_to_compare_with/mask. count() calcula o "AND bit a bit" do valor e da mask e compara o resultado com number_to_compare_with. Se o resultado do "AND bit a bit" for igual a number_to_compare_with, o valor é contado.
    Se number_to_compare_with e mask forem iguais, apenas a mask precisa ser especificada (sem '/').
  • Com regexp ou iregexp como operador, o quarto parâmetro pattern pode ser uma expressão regular comum ou global (começando com '@'). No caso de expressões regulares globais, a sensibilidade a 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(/host/icmpping,30m,,"0")>5 #ping falhou mais de 5 vezes em 30 minutos
       count(/host/key,10m,"like","error") #o número de valores nos últimos 10 minutos até agora que contêm 'error'
       count(/host/key,10m,,12) #o número de valores nos últimos 10 minutos até agora que são iguais a '12'
       count(/host/key,10m,"gt",12) #o número de valores nos últimos 10 minutos até agora que são maiores que '12'
       count(/host/key,#10,"gt",12) #o número de valores entre os últimos 10 valores até agora que são maiores que '12'
       count(/host/key,10m:now-1d,"gt",12) #o número de valores entre 24 horas e 10 minutos e 24 horas atrás a partir de agora que foram maiores que '12'
       count(/host/key,10m,"bitand","6/7") #o número de valores nos últimos 10 minutos até agora que têm '110' (em binário) nos 3 bits menos significativos
       count(/host/key,10m:now-1d) #o número de valores entre 24 horas e 10 minutos e 24 horas atrás a partir de agora
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

O número de valores únicos dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

  • Veja parâmetros comuns
  • operator (deve ser colocado entre aspas duplas). operators suportados:
    eq - igual (padrão para integer, float)
    ne - diferente
    gt - maior
    ge - maior ou igual
    lt - menor
    le - menor ou igual
    like (padrão para string, text, log) - corresponde se contiver o padrão (case-sensitive)
    bitand - AND bit a bit
    regexp - correspondência case-sensitive da expressão regular fornecida em pattern
    iregexp - correspondência case-insensitive da expressão regular fornecida em pattern
  • pattern - o padrão necessário (argumentos de string devem ser colocados entre aspas duplas)

Comentários:

  • Itens do tipo float correspondem com a precisão de 2.22e-16.
  • like não é suportado como operador para valores integer.
  • like e bitand não são suportados como operadores para valores float.
  • Para valores string, text e log, apenas os operadores eq, ne, like, regexp e iregexp são suportados.
  • Com bitand como operador, o quarto parâmetro pattern pode ser especificado como dois números, separados por '/': number_to_compare_with/mask. countunique() calcula o "AND bit a bit" do valor e da mask e compara o resultado com number_to_compare_with. Se o resultado do "AND bit a bit" for igual a number_to_compare_with, o valor é contado.
    Se number_to_compare_with e mask forem iguais, apenas a mask precisa ser especificada (sem '/').
  • Com regexp ou iregexp como operador, o quarto parâmetro pattern pode 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:

countunique(/host/key,10m) #o número de valores únicos nos últimos 10 minutos até agora
       countunique(/host/key,10m,"like","error") #o número de valores únicos nos últimos 10 minutos até agora que contêm 'error'
       countunique(/host/key,10m,,12) #o número de valores únicos nos últimos 10 minutos até agora que são iguais a '12'
       countunique(/host/key,10m,"gt",12) #o número de valores únicos nos últimos 10 minutos até agora que são maiores que '12'
       countunique(/host/key,#10,"gt",12) #o número de valores únicos nos últimos 10 valores até agora que são maiores que '12'
       countunique(/host/key,10m:now-1d,"gt",12) #o número de valores únicos entre 24 horas e 10 minutos e 24 horas atrás a partir de agora que eram maiores que '12'
       countunique(/host/key,10m,"bitand","6/7") #o número de valores únicos nos últimos 10 minutos até agora que possuem '110' (em binário) nos 3 bits menos significativos
       countunique(/host/key,10m:now-1d) #o número de valores únicos entre 24 horas e 10 minutos e 24 horas atrás a partir de agora
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Encontra uma correspondência de valor dentro do período de avaliação definido.
Tipos de valor suportados: Float, Integer, String, Text, Log.
Retorna: 1 - encontrado; 0 - caso contrário.

Parâmetros:

  • Veja parâmetros comuns
  • sec ou #num (opcional) - por padrão, utiliza o valor mais recente se não especificado
  • operator (deve ser entre aspas duplas) operators suportados:
    eq - igual (padrão para integer, float)
    ne - diferente
    gt - maior
    ge - maior ou igual
    lt - menor
    le - menor ou igual
    like (padrão para string, text, log) - corresponde se contiver a string fornecida em pattern (diferencia maiúsculas de minúsculas)
    bitand - AND bit a bit
    regexp - corresponde à expressão regular fornecida em pattern (diferencia maiúsculas de minúsculas)
    iregexp - corresponde à expressão regular fornecida em pattern (não diferencia maiúsculas de minúsculas)
  • pattern - o padrão necessário (argumentos de string devem estar entre aspas duplas); expressão regular Perl Compatible Regular Expression (PCRE) se operator for regexp, iregexp

Comentários:

  • Se mais de um valor for processado, '1' será retornado se houver pelo menos um valor correspondente.
  • like não é suportado como operador para valores inteiros.
  • like e bitand não são suportados como operadores para valores float.
  • Para valores string, text e log, apenas os operadores eq, ne, like, regexp e iregexp são suportados.
  • Com regexp ou iregexp como operador, o quarto parâmetro pattern pode ser uma expressão regular comum ou global (começando com '@'). No caso de expressões regulares globais, a diferenciação de maiúsculas e minúsculas é herdada das configurações da expressão regular global.

Exemplos:

find(/host/key,10m,"like","error") #encontrar um valor que contenha 'error' nos últimos 10 minutos até agora
       find(/host/agent.version,,"like","beta")=1 #O agent Zabbix possui versão beta, deve ser atualizado
       find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #erro interno do servidor web foi encontrado
first(/host/key,sec<:time shift>)

O primeiro (mais antigo) valor dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

Veja também last().

Exemplo:

first(/host/key,1h) #recupera o valor mais antigo dentro da última hora até agora
firstclock(/host/key,sec<:time shift>)

O carimbo de data/hora do valor mais antigo dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

A função falha com um erro se nenhum dado tiver sido coletado no período fornecido.

Veja também lastclock().

Exemplos:

firstclock(/host/key,1h) #recupera o carimbo de data/hora do valor mais antigo dentro da última hora
       firstclock(/host/key,1h:now-24h) #recupera o carimbo de data/hora do valor mais antigo dentro da última hora de um dia atrás
fuzzytime(/host/key,sec)

Verifica quanto o tempo do agent passivo difere do tempo do server/proxy Zabbix.
Tipos de valores suportados: Float, Integer.
Retorna: 1 - a diferença entre o valor do item passivo (como timestamp) e o timestamp do server/proxy Zabbix (o relógio da coleta do valor) é menor ou igual a sec segundos; 0 - caso contrário.

Parâmetros:

Comentários:

  • Normalmente usado com o item 'system.localtime' para verificar se o horário local está sincronizado com o horário local do server Zabbix. Nota que 'system.localtime' deve ser configurado como um cheque passivo para o agent Zabbix; no agent Zabbix 2 pode ser configurado como um cheque ativo.
  • Também pode ser usado com a chave vfs.file.time[/path/file,modify] para verificar se o arquivo não recebeu atualizações por muito tempo.
  • Esta função não é recomendada para uso em expressões de trigger complexas (com múltiplos items envolvidos), pois pode causar resultados inesperados (a diferença de tempo será medida com a métrica mais recente), por exemplo, em fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.

Exemplos:

fuzzytime(/host/system.localtime,5m)=0 #o horário local do cliente difere do horário do server/proxy Zabbix em mais de 5 minutos
       fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #o horário local do cliente difere do horário do server/proxy Zabbix em mais de 5 minutos (enquanto garante que o item não parou de reportar dados)
last(/host/key,<#num<:time shift>>)

O valor mais recente.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

Comentários:

  • Observe que um período de tempo com hash (#N) funciona de forma diferente aqui do que em muitas outras funções. Por exemplo: last(/host/key) é sempre igual a last(/host/key,#1); last(/host/key,#3) - o terceiro valor mais recente (não os três valores mais recentes).
  • O Zabbix não garante a ordem exata dos valores se mais de dois valores existirem dentro de um segundo no histórico.
  • Veja também first().

Exemplos:

last(/host/key) #recupera o último valor
       last(/host/key,#2) #recupera o valor anterior
       last(/host/key,#1)<>last(/host/key,#2) #os dois últimos valores são diferentes
lastclock(/host/key,<#num<:time shift>>)

O carimbo de data/hora do Nº valor mais recente dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.

Parâmetros:

A função falha com um erro se nenhum dado tiver sido coletado no período fornecido ou se nenhum valor Nth tiver sido coletado.

Veja também firstclock().

Exemplos:

lastclock(/host/key) #recupera o carimbo de data/hora do valor mais recente
       lastclock(/host/key,#2) #recupera o carimbo de data/hora do 2º valor mais recente
       now()-lastclock(/host/heartbeat.item)>300 #mais de 5 minutos se passaram desde que o item de heartbeat foi atualizado
       lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #o intervalo de atualização entre os dois últimos valores está acima de 5 minutos
       ((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #o valor da CPU está alto e o valor é recente (menos de 2 minutos)
logeventid(/host/key,<#num<:time shift>>,<pattern>)

Verifica se o ID do evento da última entrada de log corresponde a uma expressão regular.
Tipos de valor suportados: Log.
Retorna: 0 - não corresponde; 1 - corresponde.

Parâmetros:

Exemplos:

logeventid(/host/eventlog[Security],,"4625")=1 #uma entrada de log com ID correspondente a "4625" (autenticação falha) encontrada
       logeventid(/host/eventlog[System],,"6008|41")=1 #uma entrada de log com ID correspondente a "6008" ou "41" encontrada
logseverity(/host/key,<#num<:time shift>>)

Severidade do log da última entrada de log.
Tipos de valor suportados: Log.
Retorna: 0 - severidade padrão; N - severidade (inteiro, útil para logs de eventos do Windows: 1 - Informação, 2 - Aviso, 4 - Erro, 7 - Falha de Auditoria, 8 - Sucesso de Auditoria, 9 - Crítico, 10 - Verboso).

Parâmetros:

O Zabbix obtém a severidade do log a partir do campo Information do log de eventos do Windows.

Exemplos:

logseverity(/host/log[/var/log/syslog],10m)>3 #uma entrada de log com severidade acima de "3" encontrada
       logseverity(/host/eventlog[System],10m)=4 #uma entrada de log com severidade igual a "Erro" encontrada
logsource(/host/key,<#num<:time shift>>,<pattern>)

Verifica se a fonte do último registro de log corresponde a uma expressão regular.
Tipos de valor suportados: Log.
Retorna: 0 - não corresponde; 1 - corresponde.

Parâmetros:

Normalmente usado para logs de eventos do Windows.

Exemplos:

logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #um registro de log com fonte correspondente a "MSSQLSERVER" foi encontrado
       logsource(/host/eventlog[System],,"Service Control Manager")=1 #um registro de log com fonte correspondente a "Service Control Manager" foi encontrado
       logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"7031")=1 #um registro de log com fonte correspondente a "Service Control Manager" e ID de evento correspondente a "7031" foi encontrado
logtimestamp(/host/key,<#num<:time shift>>)

O timestamp da mensagem de log do N-ésimo valor de item de log mais recente.
Tipos de valor suportados: Log.

Parâmetros:

Comentários:

  • O cálculo do deslocamento de tempo é baseado no clock do valor do item, não no timestamp da mensagem de log;
  • A função falha com erro se:
    • um item de tipo diferente de log for recebido;
    • nenhum dado tiver sido coletado no período especificado;
    • nenhum N-ésimo valor tiver sido coletado;
    • a mensagem de log não contiver um valor de timestamp.

Exemplos:

logtimestamp(/host/key) #recupera o timestamp da mensagem de log mais recente
       logtimestamp(/host/key,#2) #recupera o timestamp da 2ª mensagem de log mais recente
       logtimestamp(/host/key,#3:now-1d) #recupera o timestamp da 3ª mensagem de log mais recente de um dia atrás
monodec(/host/key,(sec|#num)<:time shift>,<mode>)

Verifica se houve uma diminuição monótona nos valores.
Tipos de valores suportados: Integer.
Retorna: 1 - se todos os elementos no período de tempo diminuíram continuamente; 0 - caso contrário.

Parâmetros:

  • Veja parâmetros comuns
  • mode (deve estar entre aspas duplas) - weak (todo valor é menor ou igual ao anterior; padrão) ou strict (todo valor diminuiu)

Exemplos:

monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #calcula em quantos hosts houve uma diminuição no espaço de swap livre
       monodec(/host/proc.num[nginx],10m,"strict")=1 #o número de processos nginx diminuiu monotonamente em 10 minutos
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)

Verifica se houve um aumento monótono nos valores.
Tipos de valores suportados: Integer.
Retorna: 1 - se todos os elementos no período de tempo aumentarem continuamente; 0 - caso contrário.

Parâmetros:

  • Veja parâmetros comuns
  • mode (deve estar entre aspas duplas) - weak (todo valor é maior ou igual ao anterior; padrão) ou strict (todo valor aumentou)

Exemplos:

monoinc(/host/system.localtime,#3,"strict")=0 #o tempo local do sistema não aumentou consistentemente
       monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #dispara se a contagem de arquivos estagnar por 24 horas (espera-se que cresça)
nodata(/host/key,sec,<mode>)

Verifica se não há dados recebidos.
Tipos de valor suportados: Integer, Float, Character, Text, Log.
Retorna: 1 - se nenhum dado for recebido durante o período de tempo definido; 0 - caso contrário.

Parâmetros:

  • Veja parâmetros comuns
  • sec - o período não deve ser inferior a 30 segundos porque o processo history syncer calcula esta função apenas a cada 30 segundos; nodata(/host/key,0) não é permitido
  • mode - se definido como strict (entre aspas duplas), esta função será insensível à disponibilidade do proxy (veja os comentários para detalhes)

Comentários:

  • os triggers 'nodata' monitorados por proxy são, por padrão, sensíveis à disponibilidade do proxy - se o proxy se tornar indisponível, os triggers 'nodata' não serão disparados imediatamente após a restauração da conexão, mas pularão os dados para o período atrasado. Observe que para proxies passivos a supressão é ativada se a conexão for restaurada mais de 15 segundos e não menos de 2 segundos depois. Para proxies ativos, a supressão é ativada se a conexão for restaurada mais de 15 segundos depois. Para desativar a sensibilidade à disponibilidade do proxy, use o terceiro parâmetro, por exemplo: nodata(/host/key,5m,"strict"); neste caso, a função será disparada assim que o período de avaliação (cinco minutos) sem dados tiver passado.
  • Esta função exibirá um erro se, dentro do período do 1º parâmetro:
    - não houver dados e o Zabbix server for reiniciado
    - não houver dados e a manutenção for concluída
    - não houver dados e o item for adicionado ou reativado.
  • Os erros são exibidos na coluna Info na configuração do trigger.
  • Esta função pode não funcionar corretamente se houver diferenças de horário entre o Zabbix server, proxy e agent. Veja também: Requisito de sincronização de horário.

Exemplo:

nodata(/host/agent.ping,5m)=1 #trigger se nenhum dado for recebido do Zabbix agent por 5 minutos
percentile(/host/key,(sec|#num)<:time shift>,percentage)

O percentil P de um período, onde P (percentual) é especificado pelo terceiro parâmetro.
Tipos de valor suportados: Float, Integer.

Parâmetros:

  • Veja parâmetros comuns
  • percentage - um número de ponto flutuante entre 0 e 100 (inclusive) com até 4 dígitos após o ponto decimal

Exemplos:

percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #o percentil 95 da entrada de rede (bytes/seg) em 1 hora ultrapassou um limite (por exemplo, 1 MB/s)
       percentile(/host/system.cpu.util,5m,95)>80 #o percentil 95 da porcentagem de utilização da CPU no tempo de usuário ultrapassou 80
       percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #a maioria das medições de latência está abaixo de 150 ms, mas a cauda superior (5% superiores) implica em atrasos regulares
       percentile(/host/net.if.in[eth0,bytes],1h,50) #calcula o percentil 50 (o valor mediano) do tráfego de rede de entrada por uma hora; isso gera um resultado diferente de avg() (a média), pois percentile não considera valores discrepantes
       (percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #calcula o valor mediano preciso com um número par de valores por uma hora
rate(/host/key,sec<:time shift>)

O aumento médio por segundo em um contador monotonicamente crescente dentro do período de tempo definido.
Tipos de valores suportados: Float, Integer.

Parâmetros:

Corresponde funcionalmente ao 'rate' do PromQL.

Exemplos:

rate(/host/key,30s) #se o aumento monotônico em 30 segundos for 20, esta função retorna 0,67.
       rate(/host/net.if.in[eth0,bytes],5m)>500000 #a taxa de tráfego de entrada na interface eth0 excedeu 500 KB/s nos últimos 5 minutos
       rate(/host/app.requests.count,1m)>100 #o contador de requisições aumentou em >100 requisições por segundo no último minuto

Veja todas as funções suportadas.