Cómo dividir los datos de una consulta de Información de métricas en CloudWatch - Amazon CloudWatch

Cómo dividir los datos de una consulta de Información de métricas en CloudWatch

Si la consulta de Información de métricas que se use en la alarma coincide con más de 10 000 métricas, la alarma se evalúa en función de las 10 000 primeras métricas que encuentre la consulta. Esto significa que la alarma se evalúa con datos parciales.

Puede utilizar los siguientes métodos para averiguar si una alarma de Información de métricas está evaluando actualmente su estado de alarma según los datos parciales:

  • En la consola, si elige una alarma para ver la página de detalles, aparecerá el mensaje Evaluation warning: Not evaluating all data (Advertencia de evaluación: no se están evaluando todos los datos) en la misma página.

  • Verá el valor PARTIAL_DATA en el campo EvaluationState cuando use el comando AWS CLI describe-alarms o la API DescribeAlarms.

Las alarmas también publican eventos en Amazon EventBridge cuando pasa al estado de datos parciales, por lo que puede crear una regla de EventBridge para controlar estos eventos. En estos casos, el campo evaluationState tiene el valor PARTIAL_DATA. A continuación, se muestra un ejemplo.

{ "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 } ] } } }

Si la consulta de la alarma incluye una expresión GROUP BY que inicialmente devuelve más de 500 series temporales, la alarma se evalúa en función de las 500 primeras series temporales que encuentre la consulta. Sin embargo, si usa una cláusula ORDER BY, todas las series temporales que encuentre la consulta se ordenan y las 500 que tengan los valores más altos o más bajos según su cláusula ORDER BY se usan para evaluar la alarma.