Amazon CloudWatch
Benutzerhandbuch

Verwenden von Amazon CloudWatch-Alarmen

Sie können einen CloudWatch-Alarm erstellen, der eine einzelne CloudWatch-Metrik oder das Ergebnis eines mathematischen Ausdrucks basierend auf CloudWatch-Metriken überwacht. Der Alarm führt eine oder mehrere Aktionen durch, die vom Wert der Metrik oder des Ausdrucks im Vergleich zu einem Schwellenwert in einer Reihe von Zeiträumen abhängt. Die Aktion kann eine Amazon EC2-Aktion, eine Amazon EC2 Auto Scaling-Aktion oder eine Benachrichtigung an ein Amazon SNS-Thema sein.

Sie können auch Alarme zu CloudWatch Dashboards hinzufügen und diese visuell überwachen. Wenn ein Alarm in einem Dashboard angezeigt wird, wird er rot, wenn er sich im ALARM-Status befindet, so dass Sie den Status proaktiv überwachen können.

Alarme rufen Aktionen nur für dauerhafte Statusänderungen auf. CloudWatch-Alarme rufen keine Aktionen auf, nur weil sie einen bestimmten Status aufweisen. Der Status muss geändert und für eine bestimmte Anzahl an Zeiträumen aufrechterhalten worden sein.

Nachdem Sie ein Alarm aufgrund einer Änderung des Status eine Aktion aufgerufen hat, hängt das spätere Verhalten von der Art der Aktion ab, die mit dem Alarm verbunden ist. Bei Amazon EC2 Auto Scaling-Aktionen ruft der Alarm die Aktion weiterhin für jeden Zeitraum auf, in dem der Alarm im neuen Status bleibt. Für Amazon SNS-Benachrichtigungen werden keine zusätzlichen Aktionen aufgerufen.

Anmerkung

CloudWatch testet oder prüft die Aktionen, die Sie angeben, nicht und erkennt auch keine Amazon EC2 Auto Scaling- oder Amazon SNS-Fehler, die aufgrund eines versuchten Aufrufs von nicht vorhandenen Aktionen auftreten. Stellen Sie sicher, dass die Aktionen vorhanden ist.

Alarmstatus

Ein Alarm hat einen der folgenden möglichen Status:

  • OK—Die Metrik oder der Ausdruck liegt innerhalb des festgelegten Schwellenwerts.

  • ALARM—Die Metrik oder der Ausdruck liegt außerhalb des festgelegten Schwellenwerts.

  • INSUFFICIENT_DATA — Der Alarm wurde soeben gestartet; die Metrik ist nicht verfügbar oder es sind nicht genügend Daten verfügbar, damit die Metrik den Alarmstatus bestimmen kann.

Auswerten eines Alarms

Wenn Sie einen Alarm erstellen, geben Sie drei Einstellungen an, um CloudWatch zu aktivieren, um auszuwerten, wann der Alarmzustand geändert werden soll:

  • Period ist die Zeitspanne, in der die Metrik oder der Ausdruck ausgewertet wird, um jeden einzelnen Datenpunkt für einen Alarm zu erstellen. Sie wird in Sekunden angegeben. Wenn Sie eine Minute als Zeitraum auswählen, gibt es pro Minute nur einen Datenpunkt.

  • Evaluation Period (Auswertungszeitraum) ist die Anzahl der neuesten Zeiträume, oder Datenpunkte, die beim Ermitteln des Alarmzustands zu bewerten sind.

  • Datapoints to Alarm (Datenpunkte zum Alarm) ist die Anzahl der Datenpunkte innerhalb des Auswertungszeitraums, die überschritten werden müssen, um zu bewirken, dass der Alarm in den ALARM-Status versetzt wird. Die überschreitenden Datenpunkte müssen nicht fortlaufend sein, sondern müssen sich alle innerhalb der letzten Anzahl von Datenpunkten gleich Evaluation Period (Auswertungszeitraum befinden.

In der folgenden Abbildung sind für den Alarmschwellenwert drei Einheiten festgelegt. Der Alarm ist so konfiguriert, dass er in den ALARM-Status übergeht, und Evaluation Period (Auswertungszeitraum) und Datapoints to Alarm (Datenpunkte zum Alarm) sind 3. Das heißt, wenn alle drei Datenpunkte in den letzten drei aufeinanderfolgenden Zeiträumen den Schwellenwert überschritten haben, wird der Alarm in den ALARM-Status versetzt. In der Abbildung geschieht dies im dritten bis zum fünften Zeitraum. Bei Zeitraum 6 fällt der Wert unter den Schwellenwert, sodass einer der auszuwertenden Zeiträume keinen Schwellenwert verletzt, und der Alarmstatus ändert sich wieder in OK. Im neunten Zeitraum wird der Schwellenwert erneut verletzt, jedoch nur für einen Zeitraum. Daher bleibt der Alarmstatus OK.


        Alarm zum Auslösen des Schwellenwertalarms

Wenn Sie Evaluation Period (Auswertungszeitraum) und Datapoints to Alarm (Datenpunkte zum Alarm) als unterschiedliche Werte konfigurieren, setzen Sie einen „M aus N”-Alarm. Datapoints to Alarm (Datenpunkte zum Alarm) ist („M“), Evaluation Period (Auswertungszeitraum) ist („N“). Das Auswertungsintervall ist die Anzahl der Datenpunkte multipliziert mit der Zeit. Wenn Sie beispielsweise 4 von 5 Datenpunkten mit einem Zeitraum von 1 Minute konfigurieren, beträgt das Bewertungsintervall 5 Minuten. Wenn Sie 3 von 3 Datenpunkten mit einem Zeitraum von 10 Minuten konfigurieren, beträgt das Bewertungsintervall 30 Minuten.

Konfigurieren der Reaktion von CloudWatch-Alarmen auf fehlende Daten

Manchmal werden einige Datenpunkte für eine Metrik mit Alarm nicht an CloudWatch gemeldet. Dies kann z. B. der Fall sein, wenn eine Verbindung unterbrochen wird, ein Server ausfällt oder wenn eine Metrik Daten grundsätzlich nur intermittierend meldet.

Mit CloudWatch können Sie festlegen, wie fehlende Datenpunkte bei der Auswertung eines Alarms behandelt werden sollen. Auf diese Weise können Sie den Alarm konfigurieren, um in den ALARM-Status überzugehen, wenn das für die Art der überwachten Daten sinnvoll ist. Sie können Falschmeldungen vermeiden, wenn fehlende Daten nicht auf ein Problem hindeuten.

Genauso wie sich jeder Alarm immer in einem von drei Status befindet, fällt jeder an CloudWatch gemeldete Datenpunkt unter eine dieser drei Kategorien:

  • Keine Verletzung (innerhalb des Schwellenwerts)

  • Verletzung (verletzt den Schwellenwert)

  • Fehlend

Sie können für jeden Alarm angeben, wie CloudWatch fehlende Datenpunkte behandeln soll:

  • missing — Der Alarm berücksichtigt keine fehlenden Datenpunkte bei der Beurteilung, ob der Zustand geändert werden soll

  • notBreaching — Fehlende Datenpunkte werden als innerhalb der Schwelle liegend behandelt

  • breaching — Fehlende Datenpunkte werden als außerhalb der Schwelle liegend behandelt

  • ignore — Der aktuelle Alarmstatus wird beibehalten

Die beste Wahl ist abhängig von der Art der Metrik. Für eine Metrik, die ständig Daten übermittelt, beispielsweise die CPUUtilization einer Instance, sollten Sie fehlende Daten als breaching behandeln, da dies möglicherweise auf ein Problem hinweist. Aber für eine Metrik, die nur Datenpunkte generiert, wenn ein Fehler auftritt, z. B. ThrottledRequests in Amazon DynamoDB, sollten Sie fehlende Daten als notBreaching behandeln. Das Standardverhalten ist missing.

Wenn Sie die beste Option für Ihren Alarm wählen, werden unnötige und irreführende Änderungen an Alarmbedingungen verhindert und der Zustand Ihres Systems wird genauer angeben.

Wie der Alarmstatus bei fehlenden Daten ausgewertet wird

Unabhängig davon, welchen Wert Sie für die Behandlung fehlender Daten festlegen, wenn ein Alarm auswertet, ob der Status geändert werden soll, versucht CloudWatch eine höhere Anzahl von Datenpunkten abzurufen als durch Evaluation Period (Auswertungszeitraum) angegeben. Die genaue Anzahl der Datenpunkte, die er abzurufen versucht, hängt von der Länge des Alarmzeitraums und davon ab, ob er auf einer Metrik mit Standardauflösung oder hoher Auflösung basiert. Der Zeitrahmen der Datenpunkte, die er abzurufen versucht, ist der evaluation range (Auswertungsbereich).

Sobald CloudWatch diese Datenpunkte abgerufen hat, geschieht Folgendes:

  • Wenn keine Datenpunkte im Auswertungsbereich fehlen, wertet CloudWatch den Alarm anhand der zuletzt erfassten Datenpunkte aus.

  • Wenn einige Datenpunkte im Auswertungsbereich fehlen, aber die Anzahl der abgerufenen Datenpunkte gleich oder größer ist als die Evaluation Periods (Auswertungszeiträume) des Alarms, wertet CloudWatch den Alarmstatus anhand der zuletzt erfolgreich abgerufenen Datenpunkte aus. In diesem Fall wird der von Ihnen eingestellte Wert für die Behandlung fehlender Daten nicht benötigt und ignoriert.

  • Wenn einige Datenpunkte im Auswertungsbereich fehlen und die Anzahl der vorhandenen Datenpunkte, die abgerufen wurden, geringer ist als die Anzahl der Auswertungsperioden des Alarms, füllt CloudWatch die fehlenden Datenpunkte mit dem Ergebnis aus, das Sie für die Behandlung fehlender Daten angegeben haben, und wertet dann den Alarm aus. Allerdings sind alle echten Datenpunkte im Auswertungsbereich, unabhängig davon, wann sie gemeldet wurden, in der Auswertung enthalten. CloudWatch verwendet fehlende Datenpunkte nur so wenig wie möglich.

In all diesen Situationen ist die Anzahl der ausgewerteten Datenpunkte gleich dem Wert von Evaluation Periods (Auswertungszeiträume). Wenn weniger als der Wert von Datapoints to Alarm (Datenpunkte zum Alarm) den Schwellenwert überschreiten, wird der Alarmstatus auf OK gesetzt. Andernfalls wird der Status auf ALARM gesetzt.

Anmerkung

Ein Sonderfall dieses Verhaltens ist, dass CloudWatch-Alarme die letzte Gruppe von Datenpunkten für einen Zeitraum möglicherweise wiederholt auswerten, wenn die Metrik ist nicht mehr fließt. Diese Neubewertung kann dazu führen, dass der Alarm den Status ändert und Aktionen erneut ausführt, wenn der Status unmittelbar vor dem Anhalten des Metrik-Streams geändert wurde. Um dieses Verhalten zu verhindern, verwenden Sie kürzere Zeiträume.

Die folgenden Tabellen zeigen Beispiele für das Verhalten der Alarmauswertung. In der ersten Tabelle sind Datapoints to Alarm (Datenpunkte für den Alarm) und Evaluation Periods (Auswertungszeiträume) beide 3. CloudWatch ruft bei der Auswertung des Alarms die fünf letzten Datenpunkte ab.

In Spalte 2 ist angegeben, wie viele der 3 erforderlichen Datenpunkte fehlen. Obwohl die 5 zuletzt hinzugekommenen Datenpunkte ausgewertet werden, sind zur Bewertung des Alarmstatus nur 3 davon nötig (gemäß der Einstellung für Evaluation Periods (Auswertungszeiträume)). Die Anzahl der Datenpunkte in Spalte 2 ist die Anzahl der Datenpunkte, die ausgefüllt sein muss. Dabei wird die Einstellung zur Behandlung fehlender Daten verwendet.

Die Spalten 3-6 zeigen den Alarmstatus an, der für jede Einstellung, wie fehlende Daten behandelt werden sollen, am oberen Rand jeder Spalte angezeigt wird. In der Spalte Datenpunkte ist 0 ein nicht überschreitender Datenpunkt, X ein überschreitender Datenpunkt und - ein fehlender Datenpunkt.

Datenpunkte Anzahl fehlender Datenpunkte FEHLEND IGNORE ÜBERSCHREITEND NICHT ÜBERSCHREITEND

0 - X - X

0

OK

OK

OK

OK

0 - - - -

2

OK

OK

OK

OK

- - - - -

3

Unzureichende Daten

Aktuellen Status beibehalten

ALARM

OK

0 X X - X

0

ALARM

ALARM

ALARM

ALARM

- - - - X

2

Unzureichende Daten

Aktuellen Status beibehalten

ALARM

OK

In der zweiten Zeile der vorhergehenden Tabelle bleibt der Alarm OK, auch wenn fehlende Daten als Überschreitung behandelt werden, weil der eine vorhandene Datenpunkt nicht überschreitend ist. Dies wird zusammen mit zwei fehlenden Datenpunkten ausgewertet, die als Überschreitung behandelt werden. Wenn dieser Alarm das nächste Mal ausgewertet wird und die Daten immer noch fehlen, geht er auf ALARM, weil dieser nicht verletzende Datenpunkt nicht mehr zu den 5 zuletzt abgerufenen Datenpunkten gehört. In der vierten Zeile geht der Alarm in allen Fällen in den ALARM-Status, da genügend reale Datenpunkte vorhanden sind, sodass die Einstellung zur Behandlung fehlender Daten nicht berücksichtigt werden muss.

In der nächsten Tabelle ist Period (Zeitraum) erneut auf 5 Minuten gesetzt, und Datapoints to Alarm (Datenpunkte zum Alarm) ist nur 2, während Evaluation Periods (Auswertungszeiträume) 3 ist. Die ist ein 2-aus-3, M-aus-N-Alarm.

Datenpunkte Anzahl fehlender Datenpunkte FEHLEND IGNORE ÜBERSCHREITEND NICHT ÜBERSCHREITEND

0 - X - X

0

ALARM

ALARM

ALARM

ALARM

0 0 X 0 X

0

ALARM

ALARM

ALARM

ALARM

0 - X - -

1

OK

OK

ALARM

OK

- - - - 0

2

OK

OK

ALARM

OK

- - - - X

2

Unzureichende Daten

Aktuellen Status beibehalten

ALARM

OK

Wenn Datenpunkte kurz nach dem Erstellen eines Alarms fehlen und die Metrik an CloudWatch gemeldet wurde, bevor Sie den Alarm erstellt haben, ruft CloudWatch bei der Auswertung des Alarms die neuesten Datenpunkte von vor dem Erstellen des Alarms ab.

Hochauflösende Alarme

Wenn Sie einen Alarm für eine hochauflösende Metrik festlegen, können Sie einen hochauflösenden Alarm für einen Zeitraum von 10 Sekunden oder 30 Sekunden oder einen regelmäßigen Alarm für einen Zeitraum festlegen, der ein Mehrfaches von 60 Sekunden beträgt. Für hochauflösende Alarme ist eine höhere Gebühr zu zahlen. Weitere Informationen zu hochauflösenden Metriken finden Sie unter Veröffentlichen von benutzerdefinierten Metriken.

Alarme bei mathematischen Ausdrücken

Sie können einen Alarm für das Ergebnis eines mathematischen Ausdrucks setzen, der auf einer oder mehreren CloudWatch-Metriken basiert. Ein mathematischer Ausdruck, der für einen Alarm verwendet wird, kann bis zu 10 Metriken umfassen. Jede Metrik muss den gleichen Zeitraum verwenden.

Für einen Alarm, der auf einem mathematischen Ausdruck basiert, können Sie angeben, wie CloudWatch fehlende Datenpunkte für die zugrunde liegenden Metriken bei der Auswertung des Alarms behandeln soll.

Alarme, die auf mathematischen Ausdrücken basieren, können keine Amazon EC2-Aktionen ausführen.

Weitere Informationen über metrische mathematische Ausdrücke und Syntax finden Sie unter Verwenden von Metrikberechnungen.

Perzentilbasierte CloudWatch-Alarme und Stichproben mit wenigen Daten

Wenn Sie ein Perzentil als Statistik für einen Alarm festlegen, können Sie angeben, was zu tun ist, wenn nicht genügend Daten für eine gute statistische Bewertung vorliegen. Sie können festlegen, dass der Alarm trotzdem statistisch bewertet wird und der Alarmstatus möglicherweise geändert wird. Alternativ können Sie festlegen, dass der Alarm die Metrik bei einer kleinen Stichprobe ignoriert und mit der Bewertung wartet, bis ausreichend Daten vorliegen, um statistische Signifikanz zu erzielen.

Für Perzentile zwischen 0,5 und 1,00 wird diese Einstellung verwendet, wenn weniger als 10/(1-Perzentil) Datenpunkte im Bewertungszeitraum vorhanden sind. Diese Einstellung würde beispielsweise verwendet werden, wenn weniger als 1 000 Beispiele für einen Alarm auf einem p99 Perzentil vorhanden sind. Für Perzentile zwischen 0 und 0,5 wird die Einstellung verwendet, wenn weniger als 10/Perzentil Datenpunkte vorhanden sind.

Allgemeine Funktionen von CloudWatch-Alarmen

Die folgenden Funktionen gelten für alle CloudWatch-Alarme:

  • Sie können bis zu 5.000 Alarme pro Region und AWS-Konto erstellen. Wenn Sie einen Alarm erstellen oder aktualisieren möchten, verwenden Sie die PutMetricAlarm-API-Aktion (mon-put-metric-alarm-Befehl).

  • Alarmnamen dürfen nur ASCII-Zeichen enthalten.

  • Sie können einzelne oder alle aktuell konfigurierten Alarme sowie alle Alarme in einem bestimmten Status mit DescribeAlarms (mon-describe-alarms) aufführen. Darüber hinaus können Sie die Liste nach einem Zeitbereich filtern.

  • Sie können Alarme mit DisableAlarmActions und EnableAlarmActions (mon-disable-alarm-actions und mon-enable-alarm-actions) deaktivieren und aktivieren.

  • Sie können einen Alarm testen, indem Sie ihn mit SetAlarmState (mon-set-alarm-state) in einen bestimmten Status versetzen. Diese temporäre Statusänderung dauert nur bis zum nächsten Alarmvergleich.

  • Sie können einen Alarm mit PutMetricAlarm(mon-put-metric-alarm) erstellen, bevor Sie eine benutzerdefinierte Metrik erstellt haben. Damit der Alarm gültig ist, müssen Sie alle Dimensionen für die benutzerdefinierte Metrik zusätzlich zum Namen des Namespace und der Metrik sowie der Alarmdefinition einfügen.

  • Sie können den Verlauf eines Alarms mit DescribeAlarmHistory (mon-describe-alarm-history) anzeigen. CloudWatch speichert den Alarmverlauf zwei Wochen lang. Jeder Statusübergang wird mit einem eindeutigen Zeitstempel versehen. In seltenen Fällen kann es vorkommen, dass der Verlauf mehr als eine Benachrichtigung für eine Statusänderung anzeigt. Mit dem Zeitstempel können Sie eindeutige Änderungen des Status bestätigen.

  • Die Anzahl der Testphasen für einen Alarm multipliziert mit der Länge der einzelnen Testphase darf nicht mehr als einen Tag betragen.

Anmerkung

Einige AWS-Ressourcen senden unter bestimmten Bedingungen keine Metrikdaten an CloudWatch.

Beispiel: Amazon EBS sendet möglicherweise keine Metrikdaten, da ein verfügbares Volume keiner Amazon EC2- Instance zugewiesen ist, da keine Metrikaktivitäten für diese Volumes überwacht werden. Wenn Sie einen Alarm für eine solche Metrik festlegen, werden Sie über die Statusänderung in "nicht ausreichend Daten vorhanden" benachrichtigt. Dies kann darauf hinweisen, dass die Ressource inaktiv ist, und es muss nicht notwendigerweise bedeutet, dass ein Problem aufgetreten ist.