如何评估 Metrics Insights 查询的部分数据 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如何评估 Metrics Insights 查询的部分数据

如果用于告警的 Metrics Insights 查询匹配的指标超过 10,000 个,则根据该查询找到的前 10,000 个指标评估告警。这意味着根据部分数据评估告警。

您可以使用以下方法来确定 Metrics Insights 告警目前是否正在根据部分数据评估其告警状态:

  • 在控制台中,如果您选择一个告警来查看 Details(详细信息)页面,则该页面上会显示 Evaluation warning: Not evaluating all data(评估警告:未评估所有数据)消息。

  • 当您使用 describe-alarms Amazon CLI 命令或 DescribeAlarms API 时,您会在 EvaluationState 字段中看到值 PARTIAL_DATA

当 Amazon EventBridge 进入部分数据状态时,告警还会将事件发布到 Amazon EventBridge,这样您就可以创建 EventBridge 规则来监视这些事件。在这些事件中,evaluationState 字段的值为 PARTIAL_DATA。示例如下:

{ "version": "0", "id": "12345678-3bf9-6a09-dc46-12345EXAMPLE", "detail-type": "CloudWatch Alarm State Change", "source": "aws.cloudwatch", "account": "123456789012", "time": "2022-11-08T11:26:05Z", "region": "us-east-1", "resources": [ "arn:aws:cloudwatch:us-east-1:123456789012:alarm:my-alarm-name" ], "detail": { "alarmName": "my-alarm-name", "state": { "value": "ALARM", "reason": "Threshold Crossed: 3 out of the last 3 datapoints [20000.0 (08/11/22 11:25:00), 20000.0 (08/11/22 11:24:00), 20000.0 (08/11/22 11:23:00)] were greater than the threshold (0.0) (minimum 1 datapoint for OK -> ALARM transition).", "reasonData": "{\"version\":\"1.0\",\"queryDate\":\"2022-11-08T11:26:05.399+0000\",\"startDate\":\"2022-11-08T11:23:00.000+0000\",\"period\":60,\"recentDatapoints\":[20000.0,20000.0,20000.0],\"threshold\":0.0,\"evaluatedDatapoints\":[{\"timestamp\":\"2022-11-08T11:25:00.000+0000\",\"value\":20000.0}]}", "timestamp": "2022-11-08T11:26:05.401+0000", "evaluationState": "PARTIAL_DATA" }, "previousState": { "value": "INSUFFICIENT_DATA", "reason": "Unchecked: Initial alarm creation", "timestamp": "2022-11-08T11:25:51.227+0000" }, "configuration": { "metrics": [ { "id": "m2", "expression": "SELECT SUM(PartialDataTestMetric) FROM partial_data_test", "returnData": true, "period": 60 } ] } } }

如果告警查询包含的 GROUP BY 语句最初返回 500 个以上的时间序列,则将根据该查询找到的前 500 个时间序列对告警进行评估。但是,如果您使用的是 ORDER BY 子句,则将对该查询找到的所有时间序列进行排序,并根据您的 ORDER BY 子句,将具有最高值或最低值的前 500 个时间序列用于评估告警。