Warum wurde mein CloudWatch-Alarm ausgelöst, obwohl seine Metrik keine Datenpunkte enthält, die verletzt wurden?

Lesedauer: 5 Minute
0

Mein Amazon CloudWatch-Alarm hat den Status ALARM angenommen. Wenn ich die überwachte Metrik überprüfe, zeigt das CloudWatch-Diagramm keine Datenpunkte, die verletzt werden. Der Alarmverlauf enthält jedoch einen Eintrag mit einem Datenpunkt, der verletzt wurde. Warum wurde mein CloudWatch-Alarm ausgelöst?

Kurzbeschreibung

CloudWatch-Alarme bewerten Metriken auf der Grundlage der Datenpunkte, die zu einem bestimmten Zeitpunkt verfügbar sind. Der Alarmverlauf erfasst eine Aufzeichnung der Datenpunkte, die der Alarm zu diesem Zeitpunkt ausgewertet hat. Es ist jedoch möglich, dass neue Stichproben veröffentlicht werden, nachdem die Alarmauswertung erfolgt ist. Diese neuen Stichproben kann sich auf den Wert auswirken, der berechnet wird, wenn CloudWatch die Metrikdaten aggregiert.

Lösung

Datenpunkte finden, die verletzt wurden

Wenn Ihr CloudWatch-Diagramm keine Datenpunkte anzeigt, die verletzt wurden, dann sind diese Datenpunkte außerhalb der Alarmauswertungszeit aufgetreten. Um zu verstehen, wie das passiert, sehen Sie sich das folgende Beispiel an.

In diesem Beispiel stehen X Stichproben zur Verfügung, wenn eine Alarmauswertung erfolgt, woraus sich ein aggregierter Wert von A ergibt. Später werden neue Stichproben veröffentlicht, was zu einer Anzahl von Proben Y führt, die für denselben Zeitstempel abgerufen werden. Hieraus ergibt sich ein anderer aggregierter Wert von B.

In dieser Situation wird ein Alarm mit den folgenden Parametern konfiguriert:

  • Namensbereich: Web_App
  • Metrik: Reaktionszeit
  • Dimension: host,h_04254448d4e964956
  • Statistik: Durchschnittswert
  • Schwellenwert: 0,005
  • ComparisonOperator: GreaterThanThreshold
  • Zeitraum: 60 Sekunden (1 Minute)
  • Evaluierungszeitraum: 1

Wenn der Alarm den Zeitraum von 12:00:00 bis 12:01:00 UTC auswertet, werden die folgenden Werte von der Metrik abgerufen:

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

Der Durchschnitt dieser Werte liegt bei 0,006283333 und überschreitet damit den Schwellenwert von 0,005 Sekunden. Daher wechselt der Alarm in den Status ALARM. Im Alarmverlauf werden die aggregierten Werte erfasst, die den Schwellenwert überschreiten.

Möglicherweise tritt auf dem Host vorübergehend ein Leistungsproblem auf, das sich auf die Client-Anwendung auswirkt, die für die Veröffentlichung von Metriken verantwortlich ist. Infolgedessen veröffentlicht der Host möglicherweise keine Datenpunkte in gleichmäßigen Abständen. In dieser Situation wurden die Proben für 12:00 Uhr veröffentlicht, nachdem die Alarmauswertung stattgefunden hatte. Im Folgenden finden Sie alle Beispiele für den Zeitstempel von 12:00 Uhr:

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

Nachdem der Benutzer eine Warnung aufgrund dieses Alarms erhalten hat, rendert er ein CloudWatch-Diagramm, um das Verhalten der Metrik zu überprüfen. CloudWatch ruft die fünf Stichproben zwischen 12:00:00 und 12:01:00 UTC ab und aggregiert sie zu einem Durchschnitt von 0,003788. Dieser unterscheidet sich von dem zuvor berechneten Wert und liegt unter dem Schwellenwert. Daher sind die Datenpunkte, die verletzt wurden, im Zeitraum nicht sichtbar, da nach der Alarmauswertung weitere Proben veröffentlicht wurden.

Das Alarmbewertungsintervall erhöhen

Das Bewertungsintervall eines Alarms ist die Anzahl der Datenpunkte multipliziert mit dem Zeitraum. Die Konfiguration von Datenpunkte für Alarm kann zu einem längeren Bewertungsintervall führen. Wenn ein Alarm aufgrund verzögerter Metriken Fehlalarme generiert, können durch eine Erhöhung des Bewertungsintervalls verzögerte Datenpunkte bei der Alarmauswertung berücksichtigt werden. Dadurch wird die Anzahl der Fehlalarme reduziert.

Das Bewertungsintervall kann auf zwei Arten verlängert werden:

1.Erhöhen Sie den Zeitraum. Im folgenden Beispiel wird der Zeitraum auf fünf Minuten erhöht:

  • Namensbereich: Web_App
  • Metrik: Reaktionszeit
  • Dimension: host,h_04254448d4e964956
  • Statistik: Durchschnittswert
  • Schwellenwert: 0,005
  • ComparisonOperator: GreaterThanThreshold
  • Zeitraum: 300 Sekunden (5 Minuten)
  • Evaluierungszeitraum: 1

-oder-

2.Konfigurieren Sie „M von N“ Datenpunkten für Alarm.

Im folgenden Beispiel wird M von N Datenpunkten mit zwei von drei konfiguriert.

  • Namensbereich: Web_App
  • Metrik: Reaktionszeit
  • Dimension: host,h_04254448d4e964956
  • Statistik: Durchschnittswert
  • Schwellenwert: 0,005
  • ComparisonOperator: GreaterThanThreshold
  • Zeitraum: 60 Sekunden (1 Minute)
  • Bewertungszeitraum (N): 3
  • Datenpunkte für Alarm (M): 2

Wenn Sie die Bewertungszeiträume und die Datenpunkte für Alarm als unterschiedliche Werte konfigurieren, richten Sie einen Alarm „M von N“ ein. Die Datenpunkte für Alarm sind M und der Bewertungszeitraum ist N. Wenn Sie beispielsweise vier von fünf Datenpunkten mit einem Zeitraum von einer Minute konfigurieren, beträgt das Bewertungsintervall fünf Minuten. In ähnlicher Weise beträgt das Bewertungsintervall dreißig Minuten, wenn Sie drei von drei Datenpunkten mit einem Zeitraum von zehn Minuten konfigurieren.

Wenn Datenpunkte für Alarm auf diese Weise konfiguriert ist, werten CloudWatch-Alarme mehr Datenpunkte aus. Sie ändern den Alarmzustand zudem nur dann, wenn eine Mindestanzahl von Datenpunkten (M) einen bestimmten Satz von Datenpunkten (N) verletzen. Dieser Parameter kann den Alarm so anpassen, dass er an einem einzelnen Datenpunkt ausgelöst wird oder dass mehrere Datenpunkte erforderlich sind, um in den Status ALARM überzugehen.

Weitere Informationen finden Sie unter Erstellen eines CloudWatch-Alarms auf der Grundlage eines statischen Schwellenwerts und unter Konfigurieren, wie CloudWatch-Alarme mit fehlenden Daten umgehen.


Ähnliche Informationen

Warum habe ich keine Amazon Simple Notification Service (Amazon SNS)-Benachrichtigung für meinen CloudWatch-Alarmauslöser erhalten?

Warum befindet sich mein CloudWatch-Alarm im Status INSUFFICIENT_DATA?

Warum hat mir mein CloudWatch-Alarm eine Benachrichtigung gesendet, nachdem ein einziger Datenpunkt verletzt wurde?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren