Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

3 Triggers

Visão geral

Triggers são expressões lógicas que "avaliam" os dados coletados pelos items e representam o estado atual do sistema.

Enquanto os items são usados para coletar dados do sistema, é altamente impraticável acompanhar esses dados o tempo todo esperando por uma condição que seja alarmante ou que mereça atenção. O trabalho de "avaliar" os dados pode ser deixado para as expressões de trigger.

As expressões de trigger permitem definir um limite de qual estado dos dados é "aceitável". Portanto, caso os dados recebidos ultrapassem o estado aceitável, uma trigger é "disparada" - ou muda seu status para PROBLEM.

Uma trigger pode ter os seguintes status:

Status Descrição
OK Este é o status normal da trigger.
Problem Algo aconteceu. Por exemplo, a carga do processador está muito alta.
Unknown O valor da trigger não pode ser calculado. Veja Status Unknown.

Em uma trigger simples, podemos querer definir um limite para uma média de cinco minutos de algum dado, por exemplo, a carga da CPU. Isso é feito definindo uma expressão de trigger onde:

  • a função 'avg' é aplicada ao valor recebido na chave do item
  • um período de cinco minutos para avaliação é usado
  • um limite de '2' é definido
    avg(/host/key,5m)>2

Esta trigger será "disparada" (se tornará PROBLEM) se a média de cinco minutos for maior que 2.

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

Triggers não podem ser criadas para items com valores binários.

Após habilitar 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 chega o momento de processar as funções de data e hora e/ou nodata().

A maioria das funções de trigger são avaliadas com base nos dados de valor do item history, enquanto algumas funções de trigger para análise de longo prazo, por exemplo, trendavg(), trendcount(), etc, usam dados de tendência.

Tempo de cálculo

Um trigger é recalculado toda vez que o Zabbix server recebe um novo valor que faz parte da expressão. Quando um novo valor é recebido, cada função que está incluída na expressão é recalculada (não apenas a que recebeu o novo valor).

Além disso, um trigger é recalculado toda vez que um novo valor é recebido e a cada 30 segundos se as funções data e hora e/ou nodata() forem usadas na expressão.

As funções data e hora e/ou nodata() são recalculadas a cada 30 segundos pelo processo history syncer do Zabbix.

Triggers que referenciam apenas funções de tendência são avaliados uma vez por o menor período de tempo na expressão. Veja também funções de tendência.

Período de avaliação

Um período de avaliação é usado em funções que fazem referência ao histórico do item. Ele permite especificar o intervalo de tempo que nos interessa. Pode ser especificado como um período de tempo (30s, 10m, 1h) ou como um intervalo de valores (#5 - para os cinco valores mais recentes).

O período de avaliação é medido até o "agora" - onde "agora" é o horário mais recente de recálculo do trigger (veja Tempo de cálculo acima); "agora" não é o horário atual do server.

O período de avaliação especifica:

  • Considerar todos os valores entre "agora-período de tempo" e "agora" (ou, com deslocamento de tempo, entre "agora-deslocamento de tempo-período de tempo" e "agora-deslocamento de tempo")
  • Considerar no máximo a quantidade de valores num do passado, até "agora"
    • Se houver 0 valores disponíveis para o período de tempo ou quantidade num especificados - então o trigger ou item calculado que usa essa função se tornará não suportado

Observe que:

  • Se apenas uma única função (referenciando o histórico de dados) for usada no trigger, "agora" é sempre o valor mais recentemente recebido. Por exemplo, se o último valor foi recebido há uma hora, o período de avaliação será considerado até o valor mais recente de uma hora atrás.
  • Um novo trigger é calculado assim que o primeiro valor é recebido (funções de histórico); ele será calculado em até 30 segundos para funções de data e hora e nodata(). Assim, o trigger será calculado mesmo que talvez o período de avaliação definido (por exemplo, uma hora) ainda não tenha passado desde que o trigger foi criado. O trigger também será calculado após o primeiro valor, mesmo que o intervalo de avaliação tenha sido definido, por exemplo, para os dez valores mais recentes.

Status desconhecido

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

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

Neste caso, uma trigger geralmente é avaliada como "desconhecida" (embora existam algumas exceções). Para mais detalhes, consulte Expressões com operandos desconhecidos.

É possível ser notificado sobre triggers desconhecidas.