Ist es möglich, den CloudWatch-Alarm für eine Kombination von Metriken festzulegen?

19

Zum Beispiel möchte ich einen CloudWatch-Alarm auslösen für:

Number of messages sent- Number of messages deleted> = 6

Das Obige gilt für AWS SQS-Metriken. Und ich möchte, dass diese Metrik AWS Lambda auslöst, wenn dieser Alarm ausgelöst wird.

Kann ich das auf irgendeine Weise tun? Wenn nicht, gibt es eine Umgehungsmöglichkeit [Streben nach einem serverlosen Paradigma]

[Ich möchte das tun, weil es keine Metrik gibt, die mir die Anzahl der Nachrichten angibt, die sich derzeit (in der Warteschlange) befinden.] Also, wenn es eine Metrik gibt, die mir das geben kann, wäre es sehr hilfreich

Dawny33
quelle
Das ist eine gute Frage, aber in den meisten Fällen reichen reine Metriken nicht aus, um Alarme festzulegen, und es müssen Zwischenmengen erstellt und nach CloudWatch exportiert werden. zB Maximum einer Menge von Metriken, Variationsrate einer Metrik, Delta zu einem Zielwert.
Michael Le Barbier Grünewald

Antworten:

8

Für das letzte allgemeine Ziel würde ich den Alarm in ApproximateNumberOfMessagesVisibleder Cloudwatch- Dokumentation auf SQS aktivieren. Dies ist:

Die Anzahl der Nachrichten, die aus der Warteschlange abgerufen werden können.

Einheiten: Anzahl

Gültige Statistiken: Durchschnitt, Minimum, Maximum, Summe, Datenstichproben (wird in der Amazon SQS-Konsole als Stichprobenanzahl angezeigt)


Bei der allgemeineren Frage zu berechneten Metriken würde ich ein Lambda verwenden, das priodisch ausgeführt wird, Metriken von Cloudwatch sammelt, die Mathematik durchführt und zu Cloudwatch zurückkehrt.

Hier ist ein Lambda-Beispiel, das Daten von Cloudwatch sammelt, um zu Elasticsearch zu gelangen. Mit den Beispielen in der Dokumentation sollten Sie in der Lage sein, Metriken vom Lambda zurückzuschieben.

Beachten Sie, dass das Aufrufen der Cloudwatch-API zum Erfassen und Übertragen von Kennzahlen mit Kosten verbunden ist, wenn Sie mehr als 1 Million Anfragen pro Monat erhalten. Es gilt jedoch, andere Grenzen zu beachten, um eine Unterbrechung Ihres Budgets / Workflows zu vermeiden.

Tensibai
quelle
Vielen Dank (+1). Ich fand es ein paar Minuten später heraus: D. Ich war mir jedoch nicht sicher über den darin enthaltenen Begriff Approximate. Warum ungefähr, wenn die genaue Anzahl der verfügbaren Nachrichten ermittelt werden kann?
Dawny33
Da die Metriken regelmäßig abgerufen werden, können sie nicht garantieren, dass sich zwischen der Erfassungszeit und der Präsentationszeit keine Änderungen in der Warteschlange ergeben haben.
Tensibai