在多个 SQS 队列上创建 CloudWatch 警报

Create CloudWatch alarm on multiple SQS queues

假设我在自动缩放组中有 N 个 EC2 实例,每个实例都在轮询 M 个 SQS 队列。如果可能,我将如何在所有 SQS 队列的累积 ApproximateNumberOfMessagesVisible 上创建警报?

目前没有可用的可见消息指标的累积计数。

这是解决问题的方法,

创建一个可以轮询队列的 Lambda/cron 作业,在每个队列上获取 ApproximateNumberOfMessages 并将消息总数更新为自定义 Cloudwatch 指标。

队列属性:

http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html

自定义 Cloudwatch 指标:

http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html

您可以创建一个 lambda(无服务器),或者如果您想要基于服务器,您可以使用 AWS cloudwatch 的 cli 轮询并将总计数更新为自定义 cloudwatch 指标。

获得 cloudwatch 指标后,您可以根据这些数字创建警报。

希望对您有所帮助。