有人可以帮助我了解cloudwatch如何监视SQS队列指标并触发警报吗?
我们有一个用例,当SQS队列中的任何消息“太旧”,即OptimAgeOfOldestMessage> =阈值时,都会触发警报。
这是我们cloudformation模板的一部分。
MetricName: ApproximateAgeOfOldestMessage
Dimensions:
- Name: "QueueName"
Value: !Sub the-queue
Statistic: Maximum
Period: 2700 //45min
EvaluationPeriods: 1
DatapointsToAlarm: 1
Threshold: 2100 //35min
ComparisonOperator: GreaterThanOrEqualToThreshold
在测试#1中,我在零时队列中有一条消息,直到45分钟后才得到处理。并按预期触发了警报。
在测试2中,我在零时队列中有一条消息,直到39分钟才被触摸,然后从队列中删除。第45分钟,队列中没有消息。然后警报没有触发。
我的问题确实是关于为什么#2不会触发警报,或者如何创建和监视我的特定配置中的数据点。据我了解,aws sqs每1分钟会将指标的一个数据点推送到cloudwatch。由于我将警报配置为在45分钟内检查最大值,因此cloudwatch应该检查45个数据点并从中选择最大的数据点。在这种情况下,#2将触发警报。我在这里想念什么?请帮忙。谢谢。