Pourquoi mon alarme CloudWatch s'est-elle déclenchée alors que sa métrique ne présentait aucun point de données dépassant le seuil défini ?

Dernière mise à jour : 03-11-2022

L'état de mon alarme Amazon CloudWatch est ALARM (ALARME). Lorsque je vérifie la métrique qui est surveillée, le graphique CloudWatch ne montre aucun point de données dépassant le seuil défini. Toutefois, l'historique des alarmes contient une entrée avec un point de données dépassant le seuil défini. Pourquoi mon alarme CloudWatch s'est-elle déclenchée ?

Brève description

Les alarmes CloudWatch évaluent les métriques en fonction des points de données disponibles à un instant T. L'Alarm History (Historique des alarmes) enregistre les points de données évalués par l'alarme à l'horodatage concerné. Cependant, il est possible que de nouveaux points de données soient publiés après l'évaluation de l'alarme. Ceux-ci peuvent avoir un impact sur la valeur calculée lorsque CloudWatch agrège les données métriques.

Solution

Recherche des points de données dépassant le seuil défini

Si votre graphique CloudWatch n'affiche aucun point de données dépassant le seuil défini, cela signifie que ces points de données se sont produits en dehors de la période d'évaluation de l'alarme. Pour comprendre ce processus, reportez-vous à l'exemple suivant.

Dans cet exemple, X points de données sont disponibles lorsqu'une évaluation d'alarme se produit, ce qui donne une valeur agrégée de A. Par la suite, de nouveaux points de données sont publiés, aboutissant à Y points de données récupérés pour le même horodatage. Le résultat est une valeur agrégée différente de B.

Dans ce cas, une alarme est configurée avec les paramètres suivants :

  • Namespace (Espace de noms) : Web_App
  • Metric (Métrique) : ResponseTime
  • Dimension : host,h_04254448d4e964956
  • Statistic (Statistique) : Average (Moyenne)
  • Threshold (Seuil) : 0.005 (0,005)
  • ComparisonOperator : GreaterThanThreshold
  • Period (Période) : 60 seconds (1 minute) (60 secondes (1 minutes))
  • Evaluation Period (Période d'évaluation) : 1

Lorsque l'alarme évalue la période entre 12:00:00 et 12:01:00 UTC, les valeurs suivantes sont extraites par la métrique :

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421

La moyenne de ces valeurs est de 0,006283333, ce qui dépasse le seuil de 0,005 secondes. Par conséquent, l'alarme passe à l'état ALARM (ALARME). L'historique de l'alarme capture les valeurs agrégées qui dépassent le seuil.

L'hôte peut rencontrer temporairement un problème de performance, ce qui impacte l'application cliente responsable de la publication des métriques. Par conséquent, l'hôte risque de ne pas publier les points de données à intervalles réguliers. Dans ce cas, des points de données pour l'horodatage 12:00 ont été publiés après l'évaluation de l'alarme. Voici tous les points de données de l'horodatage 12:00 :

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421
Sample-4: 12:00:00 UTC, numeric value: 0.00002
Sample-5: 12:00:00 UTC, numeric value: 0.00007

Après avoir reçu une alerte provenant de cette alarme, l'utilisateur affiche un graphique CloudWatch pour examiner le comportement des métriques. CloudWatch extrait les cinq points de données entre 12:00:00 et 12:01:00 UTC et les agrège en moyenne de 0,003788. Cette valeur est différente de la valeur précédemment calculée et est inférieure au seuil. Par conséquent, les points de données dépassant le seuil défini ne sont pas visibles dans l'intervalle de temps, car des points de données supplémentaires ont été publiés après l'évaluation de l'alarme.

Augmentation de l'intervalle d'évaluation de l'alarme

L'evaluation interval (intervalle d'évaluation) d'une alarme correspond au nombre de points de données multiplié par la période. La configuration des Datapoints to Alarme (Points de données avant l'alarme) peut entraîner un evaluation interval (intervalle d'évaluation) plus long. Lorsqu'une alarme génère de fausses alertes en raison de métriques différées, l'augmentation de l'intervalle d'évaluation permet de prendre en compte les points de données différés dans l'évaluation de l'alarme. Cela permet de réduire le nombre de fausses alertes.

L'intervalle d'évaluation peut être augmenté de deux manières :

1.    En augmentant la période.

Dans l'exemple suivant, la période est augmentée à cinq minutes :

  • Namespace (Espace de noms) : Web_App
  • Metric (Métrique) : ResponseTime
  • Dimension : host,h_04254448d4e964956
  • Statistic (Statistique) : Average (Moyenne)
  • Threshold (Seuil) : 0.005 (0,005)
  • ComparisonOperator : GreaterThanThreshold
  • Période : 300 seconds (5 minutes) (300 secondes (5 minutes)
  • Evaluation Period (Période d'évaluation) : 1

-ou-

2.    En configurant « M sur N » Datapoints to Alarm (Points de données avant l'alarme).

Dans l'exemple suivant, M points de données sur N sont configurés sur « deux sur trois ».

  • Namespace (Espace de noms) : Web_App
  • Metric (Métrique) : ResponseTime
  • Dimension : host,h_04254448d4e964956
  • Statistic (Statistique) : Average (Moyenne)
  • Threshold (Seuil) : 0.005 (0,005)
  • ComparisonOperator : GreaterThanThreshold
  • Period (Période) : 60 seconds (1 minute) (60 secondes (1 minutes))
  • Evaluation Period (Période d'évaluation) (N) : 3
  • Datapoints To Alarm (Points de données avant l'alarme) (M) : 2

Lorsque vous configurez les Evaluation Periods (Périodes d'évaluation) et les Datapoints to Alarm (Points de données avant l'alarme) avec différentes valeurs, vous définissez une alarme « M sur N ». Les Datapoints to Alarme (Points de données avant l'alarme) sont M et l'Evaluation Period (Période d'évaluation) est N. Par exemple, si vous configurez quatre points de données sur cinq avec une période d'une minute, l'intervalle d'évaluation est de cinq minutes. De même, si vous configurez trois points de données sur trois avec une période de dix minutes, l'intervalle d'évaluation est de trente minutes.

En configurant les Datapoints to Alarm (Points de données avant l'alarme) de cette manière, les alarmes CloudWatch évaluent davantage de points de données. En outre, elles modifient l'état de l'alarme uniquement lorsqu'un nombre minimum de points de données (M) dépassent un jeu donné de points de données (N) spécifique. Ce paramètre peut régler l'alarme pour qu'elle se déclenche sur un seul point de données ou pour qu'elle nécessite plusieurs points de données avant de passer à l'état ALARM (ALARME).

Pour plus d'informations, consultez Créez une alerte CloudWatch basée sur un seuil statique et Configuration de la manière dont les alertes CloudWatch traitent les données manquantes.