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. |
/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:
Algumas observações gerais sobre os parâmetros da função:
< >/host/key e (sec|#num)<:deslocamento de tempo> nunca devem ser colocados entre aspasA 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:
+4-2-2.5.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çõesO 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:
Comentários:
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é agoraO número de valores dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.
Parâmetros:
operators suportados:patternpatternComentários:
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.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 agoraO número de valores únicos dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.
Parâmetros:
operators suportados:patternpatternComentários:
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.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 agoraEncontra 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:
operators suportados:pattern (diferencia maiúsculas de minúsculas)pattern (diferencia maiúsculas de minúsculas)pattern (não diferencia maiúsculas de minúsculas)operator for regexp, iregexpComentários:
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 encontradoO 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:
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ásVerifica 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:
vfs.file.time[/path/file,modify] para verificar se o arquivo não recebeu atualizações por muito tempo.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)O valor mais recente.
Tipos de valores suportados: Float, Integer, String, Text, Log.
Parâmetros:
Comentários:
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).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 diferentesO 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)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" encontradaSeveridade 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" encontradaVerifica 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 encontradoO timestamp da mensagem de log do N-ésimo valor de item de log mais recente.
Tipos de valor suportados: Log.
Parâmetros:
Comentários:
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ásVerifica 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:
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 minutosVerifica 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:
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)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:
nodata(/host/key,0) não é permitidoComentários:
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.Exemplo:
O percentil P de um período, onde P (percentual) é especificado pelo terceiro parâmetro.
Tipos de valor suportados: Float, Integer.
Parâmetros:
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 horaO 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