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 mudanças 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. |
| fuzzytime | Verifica quanto o tempo do agent passivo difere do tempo do Zabbix server/proxy. |
| last | O valor mais recente. |
| 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. |
| 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 (percentual) é 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 de item do host(sec|#num)<:deslocamento de tempo> é um segundo parâmetro comum para as funções que referenciam o histórico de 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:
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 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 #o 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 nos ú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 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 agoraEncontra uma correspondência de valor dentro do período de avaliação definido.
Tipos de valores suportados: Float, Integer, String, Text, Log.
Retorna: 1 - encontrado; 0 - caso contrário.
Parâmetros:
operators suportados:pattern (diferencia maiúsculas de minúsculas)patternpatternoperator 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/minúsculas é herdada das configurações da expressão regular global.Exemplos:
find(/host/key,10m,"like","error") #encontra um valor que contenha 'error' nos últimos 10 minutos até agora
find(/host/agent.version,,"like","beta")=1 #O agent Zabbix está em versão beta, deve ser atualizado
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #foi encontrado um erro interno no servidor webO 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:
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:
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 Zabbix server/proxy por 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 Zabbix server/proxy por 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 valores atual e anterior são diferentesVerifica 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" encontradaGravidade do log da última entrada de log.
Tipos de valor suportados: Log.
Retorna: 0 - gravidade padrão; N - gravidade (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 - Detalhado).
Parâmetros:
O Zabbix obtém a gravidade 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 gravidade acima de "3" encontrada
logseverity(/host/eventlog[System],10m)=4 #uma entrada de log com gravidade 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 encontradoVerifica 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írem 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 tamanho da 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 horário 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 valores 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 tempo de usuário da 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 (5% superiores) implica em lentidão regular
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 horaA taxa média por segundo do aumento em um contador monotonicamente crescente dentro do período de tempo definido.
Tipos de valor 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 solicitações aumentou em >100 solicitações por segundo no último minuto