4 Bonnes pratiques pour les déclencheurs

Les déclencheurs sont un outil puissant, mais ils peuvent aussi générer du bruit d’alerte indésirable. Pour voir davantage de vrais signaux et moins de bruit, suivez ces conseils :

  1. Rendez les déclencheurs moins sensibles. Au lieu d’alerter sur la dernière valeur (trop élevée/trop basse), analysez la moyenne sur une période prolongée à l’aide de fonctions comme avg, min et max.

  2. Envisagez d’utiliser la fonction percentile (réglez-la sur 95 % ou 5 %) dans les déclencheurs, si vous souhaitez éviter les alertes dues à des pics et des baisses aléatoires.

  3. Utilisez l’hystérésis pour éviter le battement des déclencheurs — des changements fréquents de l’état du déclencheur (OK ↔ Problème). Une continuité de l’état de problème peut être définie en ajoutant une expression de récupération (une condition distincte pour la résolution du problème).

  4. Utilisez les dépendances des déclencheurs pour éviter les alertes qui ne sont pas liées à la cause racine.

  5. Utilisez la gravité des déclencheurs pour n’alerter que sur les problèmes les plus graves.

  6. Définissez des fenêtres de maintenance.

Hystérésis

Parfois, un intervalle est nécessaire entre les états de problème et de rétablissement, plutôt qu’un simple seuil. Par exemple, si nous voulons définir un déclencheur qui signale un problème lorsque la température de la salle des serveurs dépasse 20 °C et que nous voulons qu’il reste à l’état de problème jusqu’à ce que la température descende en dessous de 15 °C, un simple seuil de déclencheur à 20 °C ne sera pas suffisant.

À la place, nous devons d’abord définir une expression de déclencheur pour l’événement de problème (température supérieure à 20 °C). Ensuite, nous devons définir une condition de rétablissement supplémentaire (température inférieure à 15 °C). Cela se fait en définissant une Expression de rétablissement lors de la configuration d’un déclencheur.

Dans ce cas, le rétablissement du problème se déroule en deux étapes :

  • D’abord, l’expression de problème (température supérieure à 20 °C) doit être évaluée à FALSE
  • Ensuite, l’expression de rétablissement (température inférieure à 15 °C) doit être évaluée à TRUE

L’expression de rétablissement n’est évaluée qu’après la résolution de l’événement de problème. Le seul fait que l’expression de rétablissement soit TRUE ne résout pas un problème si l’expression de problème est toujours TRUE !

Exemple

La température dans la salle des serveurs est trop élevée.

Expression de problème :

last(/server/temp)>20

Expression de rétablissement :

last(/server/temp)<=15

Il n’est pas utile d’utiliser la macro {TRIGGER.VALUE} dans une expression de rétablissement, car cette expression n’est évaluée que lorsque le déclencheur est dans l’état « Problème ». Par conséquent, {TRIGGER.VALUE} sera toujours résolue en « 1 » (ce qui indique un état « Problème ») lors de l’évaluation de l’expression.