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
Réponses:
Pour le dernier objectif global, je définirais l'alarme à
ApproximateNumberOfMessagesVisible
partir de la documentation Cloudwatch sur SQS, c'est: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.
la source
Approximate
qu'il contenait. Pourquoi approximatif, quand il peut indiquer le nombre exact de messages disponibles?Récemment, AWS vient d'annoncer CloudWatch Metric Math qui devrait convenir à votre cas d'utilisation.
Les références:-
la source