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 mereça atenção. O trabalho de "avaliar" os dados pode ser deixado para 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().

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.

Tempo de cálculo

Um trigger é recalculado toda vez que o servidor Zabbix recebe um novo valor que faz parte da expressão. Quando um novo valor é recebido, cada função incluída na expressão é recalculada (não apenas aquela 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 de data e hora e/ou nodata() forem usadas na expressão.

As funções de data e hora e/ou nodata() são recalculadas a cada 30 segundos pelo processo de 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 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 momento mais recente de recálculo do trigger (veja Tempo de cálculo acima); "agora" não é o tempo "agora" 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 num de valores 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 recente 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 as 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 haja algumas exceções). Para mais detalhes, consulte Expressões com operandos desconhecidos.

É possível ser notificado sobre triggers desconhecidas.