AWS-Alarme im Status „ALARM“ lösen keine Richtlinienaktionen aus

AWS-Alarme im Status „ALARM“ lösen keine Richtlinienaktionen aus

Heute habe ich eine AutoScaling-Gruppe mit mehreren Richtlinien erstellt, jede mit einem Alarm, der mit einer CloudWatch-Metrik verknüpft ist. Die AutoScaling-Gruppe hat zwei Instanzen gestartet, da dies das Minimum war, das ich für diese Gruppe benötigte. Ich habe meine Benchmarking-Tests aktiviert, um die neue Gruppe zu erreichen, und ihre kombinierte durchschnittliche CPU-Auslastung stieg über die Schwellenwerte, die ich für die Alarme festgelegt hatte. Ich habe den Verlauf für jeden dieser Alarme beobachtet, als sich die Zustände von INSUFFICIENT_DATA über OK zu ALARM änderten. Wie erwartet. Dann habe ich darauf gewartet, dass die Richtlinien ausgeführt werden. Die angegebenen 300 Sekunden bis zur Ausführung vergingen. Dann habe ich beschlossen, zu sehen, wie lange es dauern würde, bis die Richtlinien ausgeführt werden. Mittlerweile sind über anderthalb Stunden vergangen und diese Richtlinien müssen noch immer ausgeführt werden.

Ich war frustriert und habe die ASG sowie alle Richtlinien und Alarme gelöscht. Ich kam zu dem Schluss, dass mir beim Erstellen der Richtlinien und Alarme vielleicht ein Fehler unterlaufen war. Also habe ich sie alle neu erstellt. Dasselbe Problem. Die Alarme befinden sich im ALARM-Zustand und führen die Richtlinien nie aus. Ich kann die Richtlinien problemlos manuell ausführen, aber das macht den Sinn zunichte.

Falls es einen Unterschied macht: Ich habe all diese Dinge in der AWS-Konsole erstellt. In der Vergangenheit habe ich die API verwendet, um ASGs und Richtlinien zu erstellen, und diese Gruppen führen Richtlinien problemlos aus.

Mache ich etwas falsch? (Oder vielleicht gibt es einfach Probleme mit den AWS-Diensten.)

AKTUALISIEREN:

Habe das heute noch einmal probiert. Habe beschlossen, die API statt der Konsole zu verwenden, um zu sehen, ob es einen Unterschied gibt. Der Alarm, den ich verwende, wurde gerade vor 20 Minuten von OK auf ALARM aktualisiert.

CPUUtilization >= 35 for 5 minutes
Actions: In ALARM: For group TEST use policy Scale Out API (Add 1 instance)
Namespace: AWS/EC2
Metric Name: CPUUtilization
Dimensions: AutoScalingGroupName = TEST
Statistic: Average
Period: 5 minutes

19.12.2013 15:13 UTC-7 – Statusaktualisierung – Alarm von OK auf ALARM aktualisiert

Aktuelle Zeit: 15:43 UTC-7 (30 Minuten seit Alarm)

Die Aktion wurde nicht ausgelöst. Irgendeine Idee, warum?

Antwort1

Ich habe diese Frage gestellt amAmazon-Forenund anscheinend gibt es seit kurzem einen Fehler bei der Alarmerstellung, der die Eigenschaft „ActionsEnabled“ automatisch auf „False“ setzt.

Von AWS:

We have identified an issue in the AutoScaling console regarding the binding of
AutoScaling policies to CloudWatch alarms and are working on a fix. We will post
an update to this thread once the fix is rolled out. Thanks for bringing this to
our attention.

Die Problemumgehung für jetzt:

In the meantime, please try calling the DescribeAlarms CloudWatch API. If the
alarms associated with your policies have ActionsEnabled=false, then this could
cause your policies to not be invoked when the alarm is triggered. Please try
calling the PutMetricAlarm CloudWatch API to update ActionsEnabled=true for the
affected alarms, and that should fix the issues you are experiencing.

Ich habe den Fehler und die Problemumgehung mit meinen eigenen Alarmen über die API bestätigt.

verwandte Informationen