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 aufrecht erhalten 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 als Zeitraum eine Minute wählen, gibt es pro Minute 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 überschrittenen Datenpunkte müssen nicht aufeinanderfolgend sein, sie müssen nur alle innerhalb der letzten Datenpunkte liegen, die Evaluation Period (Auswertungszeitraum) entsprechen.

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 Perioden über dem Schwellenwert liegen, wechselt der Alarm in den Status ALARM. 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 für Alarm) als unterschiedliche Werte konfigurieren, legen Sie einen "M von N"-Alarm fest. Datapoints to Alarm (Datenpunkte zum Alarm) ist („M“), Evaluation Period (Auswertungszeitraum) ist („N“). Das Auswertungsintervall entspricht der Anzahl der Datenpunkte multipliziert mit dem Zeitraum. Wenn Sie beispielsweise 4 von 5 Datenpunkten mit einem Zeitraum von 1 Minute konfigurieren, beträgt das Auswertungsintervall 5 Minuten. Wenn Sie 3 von 3 Datenpunkten mit einem Zeitraum von 10 Minuten konfigurieren, beträgt das Auswertungsintervall 30 Minuten.

Konfigurieren der Reaktion von CloudWatch-Alarmen auf fehlende Daten

Manchmal werden einige Datenpunkte für eine Metrik mit einem 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 Fehlalarme vermeiden, wenn fehlende Daten kein Problem darstellen.

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:

  • good (notBreaching the threshold – Fehlende Datenpunkte werden als innerhalb der Schwelle liegend behandelt

  • bad (breaching the threshold) – Fehlende Datenpunkte werden als außerhalb der Schwelle liegend behandelt

  • ignore – Der aktuelle Alarmstatus wird beibehalten

  • missing – Der Alarm berücksichtigt fehlende Datenpunkte bei der Auswertung, ob ein Statuswechsel erfolgen soll, nicht.

Die beste Wahl ist abhängig von der Art der Metrik. Für eine Metrik, die kontinuierlich Daten meldet, wie z. B. CPUUtilization einer Instance, sollten Sie fehlende Datenpunkte als breaching behandeln, da sie darauf hinweisen können, dass etwas nicht stimmt. 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 sie abzurufen versucht, ist der 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 entspricht die Anzahl der ausgewerteten Datenpunkte 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 besonderer Fall dieses Verhaltens ist, dass CloudWatch-Alarme den letzten Satz von Datenpunkten für einen bestimmten Zeitraum wiederholt neu auswerten können, nachdem die Metrik nicht mehr funktioniert hat. Diese Neuauswertung kann dazu führen, dass der Alarm den Status ändert und Aktionen erneut ausführt, wenn er den Status unmittelbar vor dem Stoppen des Messdatenstroms geändert hatte. 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

INSUFFICIENT_DATA

Aktuellen Status beibehalten

ALARM

OK

0 X X - X

0

ALARM

ALARM

ALARM

ALARM

- - - - X

2

INSUFFICIENT_DATA

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 wechselt der Alarm in jedem Fall in den ALARM-Status, da es genügend reale Datenpunkte gibt, sodass die Einstellung für die 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

INSUFFICIENT_DATA

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 5000 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 Auswertungszeiträume für einen Alarm multipliziert mit der Länge der einzelnen Auswertungszeiträume darf einen Tag nicht überschreiten.

Anmerkung

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

Beispielsweise sendet Amazon EBS möglicherweise keine Messdaten für ein verfügbares Volume, das nicht an eine Amazon EC2-Instance angehängt ist, da für dieses Volume keine Messdatenaktivität überwacht werden muss. Wenn Sie einen Alarm für eine solche Metrik festgelegt haben, werden Sie möglicherweise feststellen, dass sich ihr Status auf INSUFFICIENT_DATA ändert. Dies kann darauf hindeuten, dass Ihre Ressource inaktiv ist, und bedeutet nicht unbedingt, dass es ein Problem gibt.