2016-05-11 5 views
4

Ich habe ein SNS-Thema, das veröffentlicht wird, wenn eine SES-E-Mail abprallt. Ich habe einen CloudWatch-Alarm eingerichtet, der ausgelöst wird, wenn in der letzten Stunde ein Schwellenwert für Benachrichtigungen überschritten wird.Vermeiden von INSUFFICIENT_DATA CloudWatch-Alarme bei SNS-Benachrichtigungen

In der Praxis sind Bounces selten, und weil SNS-Benachrichtigungen nur gesendet werden, wenn eine E-Mail springt, wird der Alarm fast die gesamte Zeit im INSUFFICIENT_DATA-Status ausgegeben.

Im Idealfall möchte ich für das Fehlen von SNS-Benachrichtigungen als Nullwert behandelt werden. In anderen Überwachungssystemen (wie Graphit/Grafana) wird dies als "Null als Null" betrachtet.

Gibt es eine Möglichkeit, die (fehlenden) Benachrichtigungen auf diese Weise zu behandeln und den Alarm aus dem unzureichenden Datenzustand herauszuhalten?

Antwort

4

Amazon SNS sendet keine metrischen Daten an CloudWatch, wenn der Wert Null ist. Dies führt zu INSUFFICIENT_DATA für Alarme, wo keine E-Mails gesendet werden. Ihr Alarm sollte jedoch wie gewünscht ohne Änderung funktionieren.

Die INSUFFICIENT_DATA Nachricht ergibt mich aus zwei Situationen:

  • Der Alarm hat nicht in Existenz gewesen die Messperiode (zB ein Alarm, der die Gesamt über einen Zeitraum von 1 Stunde berechnet muss bestanden hat für mindestens 1 Stunde).
  • Es gibt keine Daten innerhalb des definierten Zeitraums

Wenn es mindestens ein Datenpunkt innerhalb der letzten Stunde, und der Alarm für mindestens eine Stunde existiert, dann wird der Staat entweder OK oder ALARM.

Daher sollten Sie INSUFFICIENT_DATA genauso behandeln wie OK. (Es ist sogar möglich, Alarme auszulösen, basierend auf Eingabe der INSUFFICIENT DATA Zustand!)

Auch in dem Fall sind Sie nicht bereits, sollten Sie SUM verwenden, anstatt AVERAGE seit Ihrem Anwendungsfall beinhaltet bei der Zählung der Suche von Nachrichten während eines Zeitraums. Meine Tests zeigen, dass ein SUM Alarm sofort ausgelöst wird, während AVERAGE mehr Zeit benötigt.

+0

Danke. Ich hatte gehofft, die Zustandsübergänge zwischen "OK" und "INSUFFICIENT_DATA" zu vermeiden, aber ich nehme aus Ihrer Antwort (und meinen eigenen Nachforschungen), dass das nicht möglich ist. Im Idealfall möchte ich, dass das Fehlen von SNS-Benachrichtigungen wie 0 behandelt wird, keine Nicht-Daten. –

Verwandte Themen