Configurando um trigger
Esta página descreve como configurar um trigger no frontend do Zabbix.
Observe que os templates oficiais do Zabbix contêm triggers predefinidos.
Consulte o guia para aplicar o template a monitor Linux.
Também é possível atualizar em massa triggers configurados.
Outros recursos:
- Detecção de problemas com triggers (introdução geral)
- Exemplos de triggers (por caso de uso)
- Expressão e funções de trigger (detalhes de sintaxe)
- Boas práticas
Configuração
Para configurar um trigger, faça o seguinte:
- Acesse Coleta de dados > Hosts.
- Clique em Triggers na linha do host.
- Clique em Criar trigger à direita (ou no nome do trigger para editar um trigger existente).
- Insira os parâmetros do trigger no formulário.
A aba Trigger contém todos os atributos essenciais do trigger.

Todos os campos de entrada obrigatórios são marcados com um asterisco vermelho.
| Parâmetro | Descrição |
|---|---|
| Nome | Nome do trigger. As macros compatíveis são: {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {ITEM.LOG.*} e macros de usuário {$MACRO}. As macros $1, $2...$9 podem ser usadas para fazer referência à primeira, segunda... nona constante da expressão. Observação: as macros $1-$9 serão resolvidas corretamente se fizerem referência a constantes em expressões relativamente simples e diretas. Por exemplo, o nome "Carga do processador acima de $1 em {HOST.NAME}" será alterado automaticamente para "Carga do processador acima de 5 em Novo host" se a expressão for last(/Novo host/system.cpu.load[percpu,avg1])>5. |
| Nome do evento | Quando definido, esse nome será usado para criar o nome do evento de problema. Por padrão, o nome do evento é igual ao nome do trigger. O nome do evento pode ser usado para criar alertas significativos contendo dados do problema (consulte o exemplo). O mesmo conjunto de macros compatível com o nome do trigger é aceito, além de {TIME}, {TIMESTAMP} e macros de expressão {?EXPRESSION}. |
| Dados operacionais | Insira uma string (com até 2048 caracteres) com macros para exibir dados dinâmicos em tempo real em Monitoramento > Problemas. Como alternativa, deixe este campo vazio para exibir os valores mais recentes de todos os itens da expressão do trigger. O mesmo conjunto de macros compatível com o nome do trigger é aceito, com a possibilidade de resolução dinâmica. Por exemplo: {ITEM.VALUE<1-9>} resolve para os valores dos itens no momento em que o estado do trigger é alterado (problema criado, resolvido, fechado manualmente ou fechado por correlação). {ITEM.LASTVALUE<1-9>} resolve para os valores mais recentes dos itens. Observe que fechar um problema manualmente não produz um novo valor; portanto, ambas as macros continuarão exibindo o valor do momento do problema. Observe também que ambas as macros serão resolvidas como UNKNOWN se o valor mais recente for mais antigo que o Período máximo de exibição do histórico (consulte Administração > Geral). A função de macro jsonpath não é compatível com o frontend; portanto, ela será resolvida como UNKNOWN em Monitoramento > Problemas. Ela é resolvida somente pelo Zabbix server, por exemplo, quando {EVENT.OPDATA} é usado em notificações. |
| Severidade | Defina a severidade necessária do trigger clicando nos botões. |
| Expressão | Expressão lógica usada para definir as condições de um problema. Sufixos de tempo e sufixos de tamanho de memória são compatíveis. Um problema é criado depois que todas as condições incluídas na expressão são atendidas, ou seja, quando a expressão é avaliada como TRUE. O problema será resolvido assim que a expressão for avaliada como FALSE, a menos que condições adicionais de recuperação sejam especificadas em Expressão de recuperação. |
| Geração de eventos OK | Opções de geração de eventos OK: Expressão - os eventos OK são gerados com base na mesma expressão dos eventos de problema; Expressão de recuperação - os eventos OK são gerados se a expressão do problema for avaliada como FALSE e a expressão de recuperação for avaliada como TRUE; Nenhuma - nesse caso, o trigger nunca retornará sozinho ao estado OK. |
| Expressão de recuperação | Expressão lógica (opcional) que define condições adicionais que devem ser atendidas antes que o problema seja resolvido, depois que a expressão original do problema já tiver sido avaliada como FALSE. A expressão de recuperação é útil para a histerese do trigger. Não é possível resolver um problema somente pela expressão de recuperação se a expressão do problema ainda for TRUE. Este campo só estará disponível se Expressão de recuperação estiver selecionada em Geração de eventos OK. |
| Modo de geração de eventos PROBLEM | Modo de geração de eventos de problema: Único - um único evento é gerado quando um trigger entra no estado 'Problem' pela primeira vez; Múltiplo - um evento é gerado a cada avaliação 'Problem' do trigger. |
| Evento OK fecha | Selecione se o evento OK fecha: Todos os problemas - todos os problemas deste trigger; Todos os problemas se os valores das tags coincidirem - somente os problemas do trigger cujos valores das tags do evento coincidirem. |
| Tag para correspondência | Insira o nome da tag do evento a ser usado para a correlação de eventos. Este campo é exibido se Todos os problemas se os valores das tags coincidirem estiver selecionado para a propriedade Evento OK fecha e, nesse caso, é obrigatório. |
| Permitir fechamento manual | Marque esta opção para permitir o fechamento manual dos eventos de problema gerados por este trigger. O fechamento manual é possível ao reconhecer eventos de problema. |
| Nome da entrada do menu | Se não estiver vazio, o nome inserido aqui (com até 64 caracteres) será usado em vários locais do frontend como um rótulo para a URL do trigger especificada no parâmetro URL da entrada do menu. Se estiver vazio, será usado o nome padrão URL do trigger. O mesmo conjunto de macros compatível com o nome do trigger é aceito, além de {EVENT.ID}, {HOST.ID} e {TRIGGER.ID}. |
| URL da entrada do menu | Se não estiver vazia, a URL inserida aqui (com até 2048 caracteres) estará disponível como um link no menu de eventos em vários locais do frontend, por exemplo, ao clicar no nome do problema em Monitoramento > Problemas ou no widget de dashboard Problemas. O mesmo conjunto de macros compatível com o nome do trigger é aceito, além de {EVENT.ID}, {HOST.ID} e {TRIGGER.ID}. Observação: macros de usuário com valores secretos não serão resolvidas na URL. |
| Descrição | Campo de texto usado para fornecer mais informações sobre este trigger. Pode conter instruções para corrigir um problema específico, dados de contato da equipe responsável etc. O mesmo conjunto de macros compatível com o nome do trigger é aceito. |
| Habilitado | Desmarcar esta caixa desabilitará o trigger, se necessário. Os problemas de um trigger desabilitado não são mais exibidos no frontend, mas não são excluídos. |
A aba Tags permite definir tags no nível do trigger. Todos os problemas deste trigger receberão as tags com os valores inseridos aqui.

Além disso, a opção Tags herdadas e do trigger permite visualizar as tags definidas no nível do template quando o trigger vem desse template. Se houver vários templates com a mesma tag, essas tags serão exibidas uma vez e os nomes dos templates serão separados por vírgulas. Um trigger não "herda" nem exibe tags no nível do host.
| Parâmetro | Descrição |
|---|---|
| Nome/Valor | Defina tags personalizadas para marcar eventos do trigger. As tags são um par formado pelo nome e pelo valor da tag. Você pode usar somente o nome ou associá-lo a um valor. Um trigger pode ter várias tags com o mesmo nome, mas com valores diferentes. Macros de usuário, macros de usuário com contexto, macros de descoberta de baixo nível e funções de macro com {{ITEM.VALUE}}, {{ITEM.LASTVALUE}} são compatíveis com tags de eventos. Macros de descoberta de baixo nível podem ser usadas dentro do contexto da macro.A macro {TRIGGER.ID} é compatível com valores de tags do trigger. Ela pode ser útil para identificar triggers criados a partir de protótipos de trigger e, por exemplo, suprimir problemas desses triggers durante a manutenção. Se o comprimento total do valor expandido exceder 255, ele será cortado para 255 caracteres. Consulte todas as macros compatíveis com tags de eventos. As tags de eventos podem ser usadas para correlação de eventos e em condições de ações, e também serão exibidas em Monitoramento > Problemas ou no widget Problemas. |
A aba Dependências contém todas as dependências do trigger.
Clique em Adicionar para adicionar uma nova dependência.
Você também pode configurar um trigger abrindo um existente, clicando no botão Clonar e salvando-o com um nome diferente.
Teste de expressão de trigger
É possível testar qual seria o resultado da expressão dependendo do valor recebido.
A expressão a seguir de um template oficial é usada como exemplo:
avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
or
last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
Para testar a expressão, clique em Construtor de expressão abaixo do campo de expressão.

No Construtor de expressão, todas as expressões individuais são listadas. Para abrir a janela de teste, clique em Testar abaixo da lista de expressões.

Na janela de teste, você pode inserir valores de exemplo ('80', '70', '0', '1' neste exemplo) e então ver o resultado da expressão, clicando no botão Testar.

O resultado das expressões individuais, assim como da expressão completa, pode ser visto.
"TRUE" significa que a expressão especificada está correta.
Neste caso A, "80" é maior que o valor especificado em {$TEMP_WARN}, "70" neste exemplo.
Como esperado, um resultado "TRUE" aparece.
"FALSE" significa que a expressão especificada está incorreta.
Neste caso B, {$TEMP_WARN_STATUS} "1" precisa ser igual ao valor especificado, "0" neste exemplo.
Como esperado, um resultado "FALSE" aparece.
O tipo de expressão escolhido é "OR". Se pelo menos uma das condições especificadas (A ou B neste caso) for TRUE, o resultado geral também será TRUE. Isso significa que o valor atual excede o valor de aviso e ocorreu um problema.