CloudWatch에서 Metrics Insights 쿼리의 일부 데이터를 처리하는 방법 - Amazon CloudWatch

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개를 사용하여 경보가 평가됩니다.