Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

3 Triggers

Visão geral

Os gatilhos são expressões lógicas que "avaliam" os dados reunidos por itens e representam o atual estado do sistema.

Enquanto itens são usados para reunir dados de sistema, é altamente pouco prático acompanhar estes dados o tempo todo esperando por uma condição de alarme ou que mereça atenção. O trabalho de "avaliação" dos dados pode ser delegada às expressões de gatilho.

Expressões de gatilho permitem definir um limite de que estado de dado é "aceitável". Portanto, caso um dado de entrada ultrapasse o estado aceitável, um gatilho é "disparado" - ou altera o estado para PROBLEMA.

Um gatilho pode ter os seguintes estados:

VALOR DESCRIÇÃO
OK Este é um estado normal do gatilho.
PROBLEMA Normalmente significa que algo aconteceu. Por exemplo, a carga de processador está muito alta.

Em um gatilho básico nós podemos querer configurar um limite para uma média de cinco minutos de algum dado, por exemplo, a carga de CPU. Isto é realizado pela definição de uma expressão de gatilho onde:

  • nós aplicamos a função 'avg' ao valor recebido na chave do item
  • nós usamos um período de cinco minutos para avaliação
  • nós configuramos um limite de '2'
avg(host/key,5m)>2

Este gatilho "disparará" (se tornará PROBLEMA) se a média de cinco minutos estiver acima de 2.

Em um gatilho mais complexo, a expressão pode incluir uma combinação de múltiplas funções e múltiplos limites. Veja também: Expressão de gatilho.

A maioria das expressões de gatilho são avaliadas com base nos dados históricos, enquanto algumas funções de gatilho para análises de longo prazo, p.e. trendavg(), trendcount(), etc, usam dados estatísticos.

Após ativar um trigger (alterando seu status de configuração de Desabilitado para Habilitado), a expressão do trigger é avaliada assim que um item nela recebe um valor ou assim que o momento de lidar com a função time-based chegue.

A maioria das funções de trigger são avaliadas com base nos dados de histórico do item history , enquanto algumas funções de trigger para análise de longa prazo, como trendavg(), trendcount(), etc, utilizam dados de tendência.

Tempo de cálculo

Um trigger é recalculado toda vez que o servidor do Zabbix recebe um valor novo que é parte da expressão. Quando um valor novo é recebido pelo servidor, cada função, que está incluída na expressão, é recalculada (não apenas aquela que recebe um valor novo). Além disso, um trigger é recalculado toda vez quando um valor novo é recebido e a cada 30 segundos, se as funções time-based são usadas na expressão. As funções Time-based são semdado(), data(), diadomês(), diadasemana(), hora(), agora() . Essas funções são recalculadas a cada 30 segundos pelo processo de sincronização de histórico do Zabbix. Triggers que referenciam funções trend serão avaliados apenas uma vez no menor período de tempo na expressão. Ver tambémtrend functions.

Período de avaliação

Um período de avaliação é usado em funções que referenciam o histórico de um item. Ele permite especificar o intervalo no qual estamos interessados. Ele pode ser especificado como um período de tempo (30s, 10m, 1h) ou como um intervalo de valores (#5 - para os últimos cinco valores).

O período de avaliação é medido até "agora" - onde "agora" é o último tempo de recálculo do gatilho (veja Cálculo de tempo acima); "agora" não é o horário de "agora" do servidor.

O período de avaliação especifica um de:

  • Considera todos os valores entre "agora-período de tempo" e "agora" (ou, com mudança de tempo (time shift), entre "agora-mudança de tempo-período de tempo" e "agora-mudança_tempo")
  • Considera não mais do que o número de contagem de valores do passado, até "agora"
    • Se houver 0 valores disponíveis para o período de tempo ou o número de contagem especificado - então o gatilho ou o item calculado que usa esta função se torna não suportado

Note que:

  • Se apenas uma única função (referenciando dado histórico) é usada no gatilho, "agora" é sempre o último valor recebido. Por exemplo, se o último valor foi recebido há uma hora atrás, o período de avaliação será considerado em relação ao último valor uma hora atrás.
  • Um novo gatilho é calculado tão logo o primeiro valor é recebido (funções históricas); ele será recalculado dentro de 30 segundos para funções baseadas em tempo. Assim, o gatilho será calculado mesmo que de repente o período de avaliação configurado (por exemplo, uma hora) ainda não tenha passado desde a criação do gatilho. O gatilho também será calculado depois do primeiro valor, mesmo que o intervalo de avaliação tenha sido configurado, por exemplo, para os dez últimos valores.

Status desconhecido

É possível que um operando desconhecido apareça em uma expressão de trigger se:

  • um item não suportado for utilizado
  • a avaliação da função para um item suportado resultar em um erro

Nesse caso, um trigger geralmente é avaliado como "desconhecido" (embora haja algumas exceções). Para mais detalhes, consulte Expressions with unknown operands.

É possível receber notificações get notified sobre triggers desconhecidos.