Esta página é uma coleção de exemplos de triggers.
Os exemplos estão organizados por caso de uso:
Este trigger dispara se o agent Zabbix no host estiver indisponível por 5 minutos.
Função: max
Item de dados: zabbix[host,agent,available]
Alternativa:
Este trigger dispara se nenhum dado for recebido do agent Zabbix por 5 minutos.
Função: nodata
Item de dados: agent.ping
Este trigger é acionado se os dados do proxy Zabbix estiverem atrasados em relação ao horário do servidor Zabbix em 1 minuto.
Função: fuzzytime
Item de dados: zabbix[proxy,{$PROXY_NAME},lastaccess]
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0Este trigger dispara se ambos os servidores SMTP estiverem inativos.
Função: last
Item de dados: net.tcp.service
Este trigger dispara se o host estiver inacessível por ping mais de 5 vezes nos últimos 30 minutos.
Função: count
Item de dados: icmpping
Este trigger dispara se uma alteração negativa no valor do tempo de atividade do sistema for detectada (indicando uma reinicialização).
Função: change
Item de dados: system.uptime
Este trigger dispara se /etc/passwd foi alterado. A expressão é verdadeira quando o checksum anterior de /etc/passwd difere do mais recente. Expressões semelhantes podem ser úteis para monitorar alterações em arquivos importantes, como /etc/passwd, /etc/inetd.conf, /kernel, etc.
Função: last
Item de dados: vfs.file.cksum
last(/Zabbix server/net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME} {$DNS_RESOURCE_RECORD_TYPE} 0 mail.{$WEBSITE_NAME}"Observe as aspas ao redor do segundo operando.
Este trigger dispara se o resultado da consulta não for igual ao que normalmente retorna:
Função: last
Item de dados: net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], com macros definidas como:
Este trigger dispara se a versão do Ubuntu for diferente em hosts diferentes. Observe como os operandos aqui são funções que retornam strings.
Função: last
Item de dados: vfs.file.contents
O trigger dispara se a hora local do cliente e a hora do Zabbix server diferirem em mais de 10 segundos.
Função: fuzzytime
Item de dados: system.localtime
Observe que system.localtime deve ser configurado como uma verificação passiva para o Zabbix agent; no Zabbix agent 2 pode ser configurado como uma verificação ativa.
Este trigger dispara se o agent Zabbix tiver uma versão beta. O agent Zabbix precisa ser atualizado.
Função: find
Item de dados: agent.version
Este trigger dispara se o estado operacional (up/down/unknown) da eth0 mudou mais de 5 vezes em uma hora.
Função: changecount
Item de dados: vfs.file.contents
Este trigger dispara se o número de bytes recebidos em eth0 nos últimos cinco minutos foi sempre superior a 100 kilobytes. Alguém provavelmente está baixando um arquivo grande.
Função: min
Item de dados: net.if.in[eth0,bytes]
O trigger dispara se o espaço livre em disco estiver consistentemente (5 minutos) abaixo de 10 GB.
Você também pode definir uma expressão de recuperação:
O problema é resolvido apenas quando o espaço livre em disco está consistentemente (10 minutos) acima de 40 GB.
Função: min
Item de dados: vfs.fs.size
O trigger dispara se o armazenamento livre (em unidades de alocação) cair abaixo de 10 por cento. Observe o valor de outro item sendo usado para obter um limite de trigger adaptativo, aplicável ao armazenamento descoberto de vários tamanhos. Função: last
O trigger dispara quando a carga média do processador está acima de 5 por um minuto.
Variações:
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)Esses triggers analisam 5 minutos de dados e disparam apenas se a carga da CPU nunca estiver abaixo de 2. Além disso, esses triggers disparam:
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2Este trigger dispara se a carga do processador estiver muito alta em pelo menos dois dos três hosts.
Funções: last, min, dayofweek, time
Item de dados: system.cpu.load
O trigger dispara se a carga média de hoje ultrapassar a carga média da mesma hora de ontem (usando o deslocamento de tempo como now-1d) mais de duas vezes.
Função: avg
Item de dados: system.cpu.load
Este trigger dispara se a carga de CPU no host aumentou mais de 10% no último mês
Função: trendavg
Item de dados: system.cpu.load
Você também pode usar o campo Nome do evento na configuração do trigger para construir uma mensagem de alerta significativa, por exemplo, para receber algo como
"A carga do servidor Exchange aumentou em 24% em julho (0,69) em comparação com junho (0,56)"
o nome do evento deve ser definido como:
A carga do servidor {HOST.HOST} aumentou em {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% em {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) em comparação com {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})Também é útil permitir o fechamento manual na configuração do trigger para esse tipo de problema.
O trigger dispara se o conteúdo de /tmp/hello for igual à string definida em {$HELLO_MACRO}:
Alternativamente, você pode comparar diretamente com a string:
Observe como os caracteres especiais (\\ e ") são escapados quando a string é comparada diretamente.
Função: last
Item de dados: vfs.file.contents
Tem um exemplo de expressão de trigger que pode ser útil para outras pessoas? Use o formulário de sugestão de exemplo para enviá-lo aos desenvolvedores do Zabbix.