我尝试创建AWS Alarm来观看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账户中的队列。有可能??!
答案 0 :(得分:8)
如果您还没有正在运行的正在轮询队列的进程,那么您所看到的是正常的。你必须运行一些至少会定期轮询队列的东西,然后数据不足的情况应该自行清除。如果队列在大约6小时内没有生产者或消费者,则SQS不向云观察发送任何内容。
您使用CloudWatch为Amazon SQS队列配置的指标会自动收集,并每五分钟推送到CloudWatch。这些指标收集在满足CloudWatch活动准则的所有队列上。 CloudWatch将队列视为自队列上一次活动(即任何API调用)起最多六小时的活动。