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

3 Gatilhos (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.

After enabling a trigger (changing its configuration status from Disabled to Enabled), the trigger expression is evaluated as soon as an item in it receives a value or the time to handle a time-based function comes.

Most trigger functions are evaluated based on item value history data, while some trigger functions for long-term analytics, e.g. trendavg(), trendcount(), etc, use trend data.

Calculation time

A trigger is recalculated every time Zabbix server receives a new value that is part of the expression. When a new value is received, each function that is included in the expression is recalculated (not just the one that received the new value).

Additionally, a trigger is recalculated each time when a new value is received and every 30 seconds if time-based functions are used in the expression.

Time-based functions are nodata(), date(), dayofmonth(), dayofweek(), time(), now(); they are recalculated every 30 seconds by the Zabbix history syncer process.

Triggers that reference trend functions only are evaluated once per the smallest time period in the expression. See also trend 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.

Unknown state

It is possible that an unknown operand appears in a trigger expression if:

  • an unsupported item is used
  • the function evaluation for a supported item results in an error

In this case a trigger generally evaluates to "unknown" (although there are some exceptions). For more details, see Expressions with unknown operands.

It is possible to get notified on unknown triggers.