我想对处于 INSUFFICIENT_DATA 状态的 Amazon CloudWatch 警报进行故障排除。
解决方法
当您创建 CloudWatch 警报时,警报的初始状态为 INSUFFICIENT_DATA。在 CloudWatch 评估其监控的指标之前,您的 CloudWatch 警报会一直处于 INSUFFICIENT_DATA 状态。然后,警报会在创建之后几分钟内退出 INSUFFICIENT_DATA 状态。
如果您的警报一直处于 INSUFFICIENT_DATA 状态,请执行以下操作。
数据点缺失
如果您的指标监控基础设施更改、网络故障和服务中断等事件,该指标不会定期报告数据点。如果警报在指定时间段内没有指标数据点,则 CloudWatch 会视为数据点缺失。然后,警报会一直处于 INSUFFICIENT_DATA 状态。
要解决此问题,请确保配置 CloudWatch 警报对数据点缺失的处理方式。
指标参数配置错误
您可以使用命名空间、指标名称等最多 30 个维度来定义指标。为了让 CloudWatch 成功检索数据点,您必须指定时间戳,此外还可以指定单位。如果您为其中一个参数提供的值有误,CloudWatch 会尝试检索不存在的指标,而您将收到一个空数据集。
**注意:**数据点通常以单一单位推送到指标。创建警报时无需指定单位。当您的指标数据点有多个单位时,最佳做法是使用正确的单位。
要解决此问题,请完成以下步骤:
- 运行 DescribeAlarms API 操作,获取受监控指标的完整参数列表。
- 运行 ListMetrics API 操作,将 ListMetrics 输出与受监控指标的参数列表进行比较。
- 检查指标参数中是否存在拼写错误、维度错误或维度缺失。
警报周期配置错误
您可以将警报配置为按您需要的频率检索数据点。但是,如果您使用的周期比服务或源使用的周期短,您可能会收到意外的警报状态。要解决此问题,请将您的警报周期配置为大于或等于推送指标数据点的期间。此外,您可以将警报设置为使用 "M/N" 设置。有关更多信息,请参阅评估警报。
数据点传送延迟
如果您有标准警报设置,警报会每分钟评估一次您的指标。当 CloudWatch 评估指标时,警报会从配置的指标中检索可用数据点。如果警报评估指标时没有连接,警报将无法检索数据点并移至 INSUFFICIENT_DATA 状态。
恢复连接后,您的 AWS 服务会将带有时间戳的积压数据点发送到 CloudWatch。警报会根据您指定的期间和评估周期检索最近的数据点。如果 CloudWatch 警报评估了该时间范围,且警报历史记录显示 INSUFFICIENT_DATA 状态,您会收到类似于以下内容的错误消息:
"stateValue": "INSUFFICIENT_DATA", "stateReason": "Insufficient Data: 2 datapoints were unknown."
要解决此问题,请配置 CloudWatch 警报对缺失数据的处理方式。