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.

Function Description
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 Localiza uma correspondência de valor dentro do período de avaliação definido.
first O primeiro valor (o mais antigo) dentro do período de avaliação definido.
firstclock O timestamp do primeiro valor (o mais antigo) dentro do período de avaliação definido.
fuzzytime Verifica quanto o horário do agent passivo difere do horário 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 valor do item de log mais recente N-ésimo.
monodec Verifica se houve uma diminuição monotônica nos valores.
monoinc Verifica se houve um aumento monotônico nos valores.
nodata Verifica se não há dados recebidos.
percentile O percentil P de um período, em que P (porcentagem) é especificado pelo terceiro parâmetro.
rate A taxa média por segundo de aumento em um contador que cresce monotonicamente dentro do período de tempo definido.
Parâmetros comuns
  • /host/key é um parâmetro obrigatório comum para as funções que fazem referência ao histórico do item do host
  • (sec|#num)<:time shift> é um parâmetro comum para as funções que fazem referência ao 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)
    • 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 valor suportados: Float, Integer, String, Text, Log.
Para strings, retorna: 0 - os valores são iguais; 1 - os valores são diferentes.

Parâmetros: veja parâmetros comuns.

Comentários:

  • A diferença numérica será calculada, como visto com estes valores de exemplo de entrada ('previous' e 'latest' value = diferença):
    '1' e '5' = +4
    '3' e '1' = -2
    '0' e '-2.5' = -2.5.
  • Veja também: abs para comparação.

Exemplos:

change(/host/system.uptime)<0 #a mudança do tempo de atividade do sistema tem sido 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 em 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 as diminuições; inc - conta os aumentos

Para tipos de valor não numéricos, o parâmetro mode é ignorado.

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 de 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 valor suportados: Float, Integer, String, Text, Log.

Parâmetros:

  • Veja parâmetros comuns
  • operator (deve estar 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 (sensível a maiúsculas e minúsculas)
    bitand - AND bit a bit
    regexp - corresponde, com sensibilidade a maiúsculas e minúsculas, à expressão regular fornecida em pattern
    iregexp - corresponde, sem sensibilidade a maiúsculas e minúsculas, à expressão regular fornecida em pattern
  • pattern - o padrão necessário (argumentos de string devem estar entre aspas duplas)

Comentários:

  • Itens 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, somente 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 de regexp, valores float sempre serão representados com 4 dígitos decimais após '.'. Observe também que, para números grandes, a diferença entre a representação decimal (armazenada no banco de dados) e a 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 dos últimos 10 minutos até agora que contêm 'error'
count(/host/key,10m,,12) #o número de valores dos últimos 10 minutos até agora que são iguais a '12'
count(/host/key,10m,"gt",12) #o número de valores dos últimos 10 minutos até agora que são maiores que '12'
count(/host/key,#10,"gt",12) #o número de valores dentro dos ú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 eram maiores que '12'
count(/host/key,10m,"bitand","6/7") #o número de valores dos ú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 valor 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:

  • Items 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 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:

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 têm '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) - usa o valor mais recente por padrão, se não for especificado
  • operator (deve estar 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 informada em pattern (sensível a maiúsculas e minúsculas)
    bitand - AND bit a bit
    regexp - correspondência sensível a maiúsculas e minúsculas da expressão regular informada em pattern
    iregexp - correspondência insensível a maiúsculas e minúsculas da expressão regular informada em pattern
  • 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 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 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.

Exemplos:

find(/host/key,10m,"like","error") #encontra um valor que contém 'error' nos últimos 10 minutos até agora
find(/host/agent.version,,"like","beta")=1 #o agent do Zabbix tem versão beta, deve ser atualizado
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #foi encontrado um erro interno do servidor web
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 timestamp do valor mais antigo dentro do período de avaliação definido.
Tipos de valor suportados: Float, Integer, String, Text, Log.

Parâmetros:

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

Veja também lastclock().

Exemplos:

firstclock(/host/key,1h) #recupera o timestamp do valor mais antigo dentro da última hora
firstclock(/host/key,1h:now-24h) #recupera o timestamp 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 Zabbix server/proxy.
Tipos de valor suportados: Float, Integer.
Retorna: 1 - a diferença entre o valor do item passivo (como timestamp) e o timestamp do Zabbix server/proxy (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 a hora local está sincronizada com a hora local do Zabbix server. Observe que 'system.localtime' deve ser configurado como uma verificação passiva para o Zabbix agent; no Zabbix agent 2, ele pode ser configurado como uma verificação ativa.
  • Também pode ser usado com a chave vfs.file.time[/path/file,modify] para verificar se o arquivo não recebe atualizações há muito tempo.
  • Esta função não é recomendada para uso em expressões complexas de trigger (com vários 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 #a hora local do cliente difere do tempo do Zabbix server/proxy em mais de 5 minutos
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #a hora local do cliente difere do tempo do Zabbix server/proxy em mais de 5 minutos (garantindo ao mesmo tempo que o item não parou de reportar dados)
last(/host/key,<#num<:time shift>>)

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

Parâmetros:

Comentários:

  • Observe que um período de tempo com hash-tag (#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 existirem mais de dois valores 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 timestamp do N-ésimo valor mais recente dentro do período de avaliação definido.
Tipos de valor suportados: Float, Integer, String, Text, Log.

Parâmetros:

A função falha com um erro se nenhum dado tiver sido coletado no período informado ou se nenhum valor N-ésimo tiver sido coletado.

Veja também firstclock().

Exemplos:

lastclock(/host/key) #retrieve the timestamp of the latest value
lastclock(/host/key,#2) #retrieve the timestamp of the 2nd latest value
now()-lastclock(/host/heartbeat.item)>300 #more than 5 minutes have passed since the heartbeat item was updated
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #the update interval between last two values is above 5 minutes
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #CPU value is high and the value is fresh (less than 2 minutes)
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:

  • Veja parâmetros comuns
  • #num (opcional) - o N-ésimo valor mais recente
  • pattern (opcional) - a expressão regular que descreve o padrão necessário, no estilo Perl Compatible Regular Expression (PCRE) (os argumentos de string devem estar entre aspas duplas)

Exemplos:

logeventid(/host/eventlog[Security],,"^4625$")=1 #uma entrada de log com ID correspondente a "4625" (autenticação falhada) 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 - Information, 2 - Warning, 4 - Error, 7 - Failure Audit, 8 - Success Audit, 9 - Critical, 10 - Verbose).

Parâmetros:

O Zabbix obtém a severidade do log 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 "Error" encontrada
logsource(/host/key,<#num<:time shift>>,<pattern>)

Verifica se a origem 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:

  • Veja parâmetros comuns
  • #num (opcional) - o N-ésimo valor mais recente
  • pattern (opcional) - a expressão regular que descreve o padrão necessário, no estilo Perl Compatible Regular Expression (PCRE) (os argumentos de string devem estar entre aspas duplas)

Normalmente usado para logs de eventos do Windows.

Exemplos:

logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #uma entrada de log com origem correspondente a "MSSQLSERVER" encontrada
logsource(/host/eventlog[System],,"Service Control Manager")=1 #uma entrada de log com origem correspondente a "Service Control Manager" encontrada
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"^7031$")=1 #uma entrada de log com origem correspondente a "Service Control Manager" e ID de evento correspondente a "7031" encontrada
logtimestamp(/host/key,<#num<:time shift>>)

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

Parâmetros:

Comentários:

  • O cálculo do deslocamento de tempo é baseado no clock do valor do item, e não no timestamp da mensagem de log;
  • A função falha com um erro se:
    • um item de tipo não-log for recebido;
    • nenhum dado tiver sido coletado no período informado;
    • nenhum valor N-ésimo 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 monotônica nos valores.
Tipos de valor suportados: Integer.
Retorna: 1 - se todos os elementos no período de tempo diminuírem continuamente; 0 - caso contrário.

Parâmetros:

  • Veja common parameters
  • mode (deve estar entre aspas duplas) - weak (cada valor é menor ou igual ao anterior; padrão) ou strict (cada 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 tamanho livre da swap
monodec(/host/proc.num[nginx],10m,"strict")=1 #o número de processos nginx diminuiu monotonicamente ao longo de 10 minutos
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)

Verifica se houve um aumento monotônico nos valores.
Tipos de valor 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 horário local do sistema não tem aumentado de forma consistente
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #trigger se a contagem de arquivos tiver estagnado nas últimas 24 horas (esperado que cresça)
nodata(/host/key,sec,<mode>)

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

Parâmetros:

  • Veja common parameters
  • sec - o período não deve ser menor que 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 não será sensí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 ficar indisponível, os triggers 'nodata' não serão disparados imediatamente após uma conexão restaurada, mas irão ignorar os dados do período atrasado. Observe que, para proxies passivos, a supressão é ativada se a conexão for restaurada após mais de 15 segundos e não menos que 2 segundos depois. Para proxies ativos, a supressão é ativada se a conexão for restaurada após mais de 15 segundos. Para desativar a sensibilidade à disponibilidade do proxy, use o terceiro parâmetro, por exemplo: nodata(/host/key,5m,"strict"); nesse 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 tiver sido reiniciado
    - não houver dados e a manutenção tiver sido concluída
    - não houver dados e o item tiver sido adicionado ou reativado.
  • Os erros são exibidos na coluna Info na configuração de trigger configuration.
  • Esta função pode não funcionar corretamente se houver diferenças de horário entre Zabbix server, proxy e agent. Veja também: Time synchronization requirement.

Exemplo:

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

O P-ésimo percentil de um período, em que P (porcentagem) é 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 a vírgula decimal

Exemplos:

percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #o 95º percentil da entrada de rede (bytes/seg) ao longo de 1 hora ultrapassou um limite (por exemplo, 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #o 95º percentil da porcentagem de tempo de usuário na utilização da CPU 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 (top 5%) indica atraso regular
percentile(/host/net.if.in[eth0,bytes],1h,50) #calcular o 50º percentil (o valor mediano) do tráfego de rede de entrada por uma hora; isso produz um resultado diferente de avg() (a média), pois o percentil não considera valores discrepantes
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #calcular o valor mediano exato com um número par de valores ao longo de uma hora
rate(/host/key,sec<:time shift>)

A taxa média por segundo do aumento de um contador monotonicamente crescente dentro do período de tempo definido.
Tipos de valor suportados: Float, Integer.

Parâmetros:

Corresponde funcionalmente a 'rate' do PromQL.

Exemplos:

rate(/host/key,30s) #se o aumento monotônico ao longo de 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 da interface em eth0 excedeu 500 KB/s nos últimos 5 minutos
rate(/host/app.requests.count,1m)>100 #a contagem de requisições aumentou para >100 requisições por segundo no último minuto

Veja todas as funções suportadas.