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

4 Melhores práticas para triggers

Triggers são uma ferramenta poderosa, mas também podem criar ruído de alerta indesejado. Para ver mais sinais reais e menos ruído, siga estas dicas:

  1. Dessensibilize triggers. Em vez de alertar sobre o valor mais recente (muito alto/muito baixo), analise a média por um período prolongado usando funções como avg, min e max.

  2. Considere usar a função percentile (defina para 95% ou 5%) em triggers, se quiser evitar alertas sobre picos e quedas aleatórias.

  3. Use expressões de recuperação para evitar mudanças frequentes do estado do trigger (OK ↔︎ Problema) ou trigger flapping. As expressões de recuperação permitem criar uma condição separada para a resolução do problema. Veja histerese.

  4. Use dependências de trigger para evitar alertas que não estão relacionados à causa raiz.

  5. Use severidade de trigger para alertar apenas sobre os problemas mais graves.

  6. Defina janelas de manutenção.

Histerese

Às vezes, é necessário um intervalo entre os estados de problema e recuperação, em vez de um simples limite. Por exemplo, se quisermos definir um trigger que relate um problema quando a temperatura da sala do servidor ultrapassar 20°C e quisermos que ele permaneça no estado de problema até que a temperatura caia abaixo de 15°C, um simples limite de trigger em 20°C não será suficiente.

Em vez disso, precisamos definir primeiro uma expressão de trigger para o evento de problema (temperatura acima de 20°C). Em seguida, precisamos definir uma condição adicional de recuperação (temperatura abaixo de 15°C). Isso é feito definindo uma Expressão de recuperação ao configurar um trigger.

Neste caso, a recuperação do problema ocorre em duas etapas:

  • Primeiro, a expressão de problema (temperatura acima de 20°C) deve ser avaliada como FALSA
  • Segundo, a expressão de recuperação (temperatura abaixo de 15°C) deve ser avaliada como VERDADEIRA

A expressão de recuperação é avaliada somente após o evento de problema ser resolvido. A expressão de recuperação ser VERDADEIRA sozinha não resolve um problema se a expressão de problema ainda for VERDADEIRA!

Exemplo

A temperatura na sala do servidor está muito alta.

Expressão do problema:

last(/server/temp)>20

Expressão de recuperação:

last(/server/temp)<=15

É improdutivo usar a macro {TRIGGER.VALUE} em uma expressão de recuperação porque essa expressão só é avaliada quando o trigger está no estado "Problema". Consequentemente, {TRIGGER.VALUE} sempre será resolvido como "1" (o que indica um estado de "Problema") ao avaliar a expressão.