CloudWatch で Metrics Insights クエリから部分的なデータを評価する方法
アラームに使用された Metrics Insights クエリが 10,000 件を超えるメトリクスに一致する場合、アラームはクエリで見つかった最初の 10,000 件のメトリクスに基づいて評価されます。これは、アラームが部分的なデータに基づいて評価されていることを意味します。
次の方法を使用して、現在 Metrics Insights アラームが部分的なデータに基づいてアラームの状態を評価しているかどうかを確認できます。
コンソールでアラームを選択して [Details] (詳細) ページを表示すると、そのページに「Evaluation warning: Not evaluating all data」(評価警告: すべてのデータを評価していません) というメッセージが表示されます。
describe-alarms
AWS CLI コマンドまたは DescribeAlarms API を使用すると、 EvaluationState
フィールドにPARTIAL_DATA
という値が表示されます。
アラームは、部分的なデータの状態になったときにもイベントを 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 } ] } } }
アラームのクエリに、最初に 500 を超える時系列を返す GROUP BY ステートメントが含まれている場合、アラームはクエリで検出された最初の 500 の時系列に基づいて評価されます。ただし、ORDER BY 句を使用すると、クエリで検出されたすべての時系列がソートされます。その中から ORDER BY 句に応じて値が大きい方から、または小さい方から 500 個がアラームの評価に使用されます。