14

我尝试创建一个 AWS 警报来监视 SQS。如果队列在 2 分钟内有超过 1 条消息,我想创建警报以触发策略。我使用此命令创建警报:

aws cloudwatch put-metric-alarm --alarm-name alarmName --metric-name ApproximateNumberOfMessagesVisible --namespace "AWS/SQS" --statistic Average --period 60  --evaluation-periods 2 --threshold 1 --comparison-operator GreaterThanOrEqualToThreshold --dimensions "Name=QueueName,Value=QueueName" "Name=AutoScalingGroupName,Value=asg-name" --alarm-actions "<arn:batch-upscale-policy>" --actions-enable

我可以在 AWS 控制台中看到警报,但它卡在了INSUFFICIENT_DATA状态中。我该如何解决?

在这里,我要收听其他 AWS 账户中的队列。可能吗??!

4

1 回答 1

14

如果您还没有正在运行的进程正在轮询队列,那么您所看到的是正常的。您必须运行一些至少会定期轮询队列的东西,然后数据不足的情况应该会自行清除。如果队列在大约 6 小时内没有生产者或消费者,则 SQS 不会向 cloudwatch 发送任何内容。

您使用 CloudWatch 为 Amazon SQS 队列配置的指标每五分钟自动收集一次并推送到 CloudWatch。这些指标收集在符合 CloudWatch 活动准则的所有队列中。从队列上的最后一个活动(即任何 API 调用)开始,CloudWatch 将认为一个队列在长达六个小时内处于活动状态。

http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/MonitorSQSwithCloudWatch.html

于 2013-11-04T07:19:39.417 回答