Est-il possible de définir l'alarme CloudWatch pour une combinaison de métriques?

19

Par exemple, je souhaite déclencher une alarme CloudWatch pour les éléments suivants:

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

Ce qui précède concerne les métriques AWS SQS. Et je veux que cette métrique déclenche AWS Lambda si cette alarme est déclenchée.

Existe-t-il un moyen de le faire? Sinon, existe-t-il une solution de contournement [Viser un paradigme sans serveur]

[Je veux le faire, car il n'y a pas de métrique qui m'indique le nombre de messages actuellement (disponibles) dans la file d'attente]. Donc, s'il y a une métrique qui peut me donner ça, ce serait très utile

Dawny33
la source
C'est une bonne question, mais la plupart du temps, des mesures pures ne suffisent pas pour définir des alarmes et des quantités intermédiaires doivent être construites et exportées vers CloudWatch. par exemple maximum d'un ensemble de métriques, taux de variation d'une métrique, delta à une valeur d'objectif.
Michael Le Barbier Grünewald

Réponses:

8

Pour le dernier objectif global, je définirais l'alarme à ApproximateNumberOfMessagesVisiblepartir de la documentation Cloudwatch sur SQS, c'est:

Le nombre de messages disponibles pour la récupération de la file d'attente.

Unités: nombre

Statistiques valides: moyenne, minimum, maximum, somme, échantillons de données (s'affiche en tant que nombre d'échantillons dans la console Amazon SQS)


Pour la question de métrique calculée plus générique, j'irais avec un lambda fonctionnant périodiquement, rassemblant des métriques de cloudwatch, faisant les calculs et repoussant à cloudwatch.

Voici un exemple lambda rassemblant des données de Cloudwatch pour les pousser vers elasticsearch. Avec les exemples de la documentation, vous devriez pouvoir repousser les métriques du lambda.

Sachez que l'appel à l'API cloudwatch pour collecter et pousser des mesures a un coût lorsque vous recevez plus de 1 million de demandes par mois, il y a d'autres limites à connaître pour éviter de casser votre budget / flux de travail.

Tensibai
la source
Merci (+1). Je l'ai compris quelques minutes plus tard: D. Cependant, je n'étais pas sûr du terme Approximatequ'il contenait. Pourquoi approximatif, quand il peut indiquer le nombre exact de messages disponibles?
Dawny33
Étant donné que les mesures sont extraites périodiquement, elles ne peuvent garantir qu'entre l'heure de collecte et l'heure de présentation, il n'y a eu aucun changement dans la file d'attente.
Tensibai