Por ejemplo, quiero activar una alarma de CloudWatch para lo siguiente:
Number of messages sent
- Number of messages deleted
> = 6
Lo anterior es para las métricas de AWS SQS. Y quiero que esa métrica active AWS Lambda si esa alarma está activada.
¿Hay alguna manera de hacerlo? Si no es así, ¿hay alguna solución alternativa [Apuntando a un paradigma sin servidor]
[Quiero hacer eso, porque no hay una métrica que me indique la cantidad de mensajes actualmente (disponibles) en la cola]. Entonces, si hay una métrica que me puede dar eso, sería muy útil
Respuestas:
Para el último objetivo general,
ApproximateNumberOfMessagesVisible
activaría la alarma de la documentación de Cloudwatch en SQS, esto es:Para la pregunta de métrica computada más genérica, iría con una lambda corriendo de manera periódica, recopilando métricas de la observación de nubes, haciendo los cálculos y volviendo a la observación de nubes.
Aquí hay un ejemplo de lambda que recopila datos de Cloudwatch para impulsar la búsqueda elástica. Con los ejemplos en la documentación, debería poder retroceder las métricas desde la lambda.
Tenga en cuenta que llamar a Cloudwatch API para recopilar y enviar métricas tiene un costo cuando recibe más de 1 millón de solicitudes por mes, hay otros límites a tener en cuenta para evitar romper su presupuesto / flujo de trabajo.
fuente
Approximate
en él. ¿Por qué aproximarse, cuando puede decir la cantidad exacta de mensajes disponibles?Recientemente AWS acaba de anunciar CloudWatch Metric Math, que debería ser adecuado para su caso de uso.
Referencias: -
fuente