AWS CloudWatch告警指标固定不变是否正常?SQS队列告警异常求助
以下是几种可能导致该异常的常见原因:
CloudWatch指标聚合与延迟问题
SQS的ApproximateNumberOfMessagesVisible指标默认按5分钟粒度聚合,若告警使用的统计周期或聚合方式(比如Average/Maximum)不合适,可能会残留历史数据。比如队列消息从1降到0后,下一个聚合周期的统计值可能仍保留之前的1,导致告警状态未及时更新。告警统计周期与数据采样不匹配
检查告警的统计周期和触发条件里的“连续数据点数量”设置。如果告警用了比SQS指标采样间隔(默认5分钟)更短的周期,告警会重复使用旧数据点,无法及时捕获队列的最新状态。消息隐形状态异常
SQS中被消费者接收但未确认的消息会进入隐形状态,这类消息不计入可见消息数,但如果消费者进程崩溃、未发送确认,或者消息超时时间设置过长,可能出现消息重新回到可见状态的延迟。不过这种情况通常不会持续数天,但若死信队列配置不当,或消息陷入未处理的隐形循环,也可能导致指标统计异常。CloudWatch告警状态缓存
极少数情况下,CloudWatch告警会出现状态缓存未刷新的问题,尤其是当告警关联的Auto Scaling组出现权限问题或配置变更后。可以尝试手动刷新告警状态,或重新创建告警规则验证。指标维度配置错误
确认告警关联的SQS队列维度是否正确,比如是否误关联了其他队列,或队列的ARN/名称配置错误,导致监控的并非目标队列的指标。
建议先通过CloudWatch控制台查看该指标的原始数据点,确认上报数值是否和队列真实状态一致,再逐一排查上述原因。
内容的提问来源于stack exchange,提问作者Miloš Milutinov

