¿Por qué mi alarma de CloudWatch se encuentra en el estado INSUFFICIENT_DATA (datos insuficientes)?

6 minutos de lectura
0

Mi alarma de Amazon CloudWatch está en estado INSUFFICIENT_DATA (datos insuficientes). ¿Cómo puedo averiguar qué lo está causando?

Breve descripción

El estado INSUFFICIENT_DATA (datos insuficientes) puede indicar cualquiera de los siguientes casos:

  • Acaba de iniciarse una alarma de Amazon CloudWatch.
  • La métrica no está disponible.
  • Los parámetros de la métrica, como el espacio de nombres, el nombre de la métrica o las dimensiones, están mal configurados.
  • No hay datos suficientes para que la métrica determine el estado de la alarma.

Si la alarma se encuentra inesperadamente en el estado INSUFFICIENT_DATA, revise los siguientes pasos de solución de problemas para algunas de las causas más habituales.

Resolución

Comportamiento métrico normal

Al crear una alarma de CloudWatch, su primer estado predeterminado es INSUFFICIENT_DATA. Permanece en este estado hasta que completa su primera evaluación de la métrica que se está supervisando. Por lo general, una alarma sale del estado INSUFFICIENT_DATA a los pocos minutos de su creación.

Una alarma en estado INSUFFICIENT_DATA podría reflejar el comportamiento normal de una métrica. Hay dos tipos de métricas en función de cómo se envían a CloudWatch: por período y por evento. Algunos servicios envían puntos de datos periódicos a sus métricas a intervalos regulares. Otros servicios envían datos de métricas cuando ciertos eventos desencadenan el envío y pueden tener períodos sin puntos de datos.

Un ejemplo de métrica basada en períodos es la métrica predeterminada CPUUtilization de una instancia Amazon Elastic Compute Cloud (Amazon EC2). Esta métrica tiene un punto de datos cada cinco minutos. Sin embargo, si detiene la instancia, el servicio no le envía ningún punto de datos. Un ejemplo de métrica basada en eventos es la métrica HTTPCode_ELB_5XX_Count para un equilibrador de carga de aplicación. El servicio Elastic Load Balancing (ELB) envía puntos de datos a esta métrica cuando hay una respuesta 5XX de un ELB. Si no hay errores del tipo 5XX durante un período, el resultado es un período vacío (en lugar de un valor cero).

Si una alarma supervisa una métrica que no tiene puntos de datos durante un conjunto de períodos determinado y los datos faltantes se tratan como tal, el estado de la alarma será INSUFFICIENT_DATA durante esos períodos. Para forzar que la alarma esté en los estados ALARM u OK, configure la forma en que la alarma trata estos períodos sin puntos de datos.

Configuración de la alarma de CloudWatch incorrecta

Cada métrica se define mediante un espacio de nombres, un nombre de la métrica y hasta diez dimensiones. Al recuperar un punto de datos, debe especificar una marca de tiempo (y, opcionalmente, una unidad). Si proporciona un valor incorrecto para uno de estos parámetros, CloudWatch intentará recuperar una métrica que no existe. El resultado será un conjunto de datos vacío.

Nota: Los puntos de datos suelen enviarse a una métrica con una sola unidad, pero no es necesario que especifique la unidad al crear una alarma. Si no especifica una unidad, no tendrá problemas relacionados con configuraciones incorrectas de la unidad. Sin embargo, si los puntos de datos de la métrica tienen varias unidades, se recomienda utilizar la unidad correcta.

Utilice la API DescribeAlarms para obtener una lista completa de los parámetros de las métricas supervisadas. Puede compararla con la salida ListMetrics. Compruebe lo siguiente en los parámetros:

  • Errores ortográficos y uso incorrecto de mayúsculas y minúsculas. Espacios de nombres, nombres de las métricas y claves/valores de las dimensiones que distinguen entre mayúsculas y minúsculas.
  • Dimensiones especificadas incorrectamente o faltantes.

Períodos de alarma configurados incorrectamente

Puede configurar una alarma para recuperar puntos de datos con la frecuencia que desee. Sin embargo, es posible que obtenga estados no deseados si la alarma utiliza un período más corto que el período utilizado por el servicio (o la fuente) para enviar los puntos de datos a la métrica. Para evitar estados INSUFFICIENT_DATA no deseados, se recomienda configurar el período de la alarma para que sea igual o superior al período en el que se envían los puntos de datos de la métrica. También puede utilizar la configuración ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)M de N[ para la alarma.

Retraso en la entrega de puntos de datos

Según los puntos de datos que se envíen a CloudWatch, es posible que experimente estados INSUFFICIENT_DATA inesperados en una alarma que supervisa una métrica.

Por ejemplo, puede tener una aplicación personalizada que envía puntos de datos del software implementado en una instancia de EC2 a una métrica personalizada. Para evitar la pérdida de datos, puede configurar la aplicación para que reintente las llamadas fallidas a la API. Sin embargo, debido a un factor externo (por ejemplo, una modificación de la configuración de VPC), la instancia pierde la conectividad con CloudWatch. En este escenario, el entorno sigue generando datos. Sin embargo, los puntos de datos que se envían fallan hasta que se solucione el problema externo.

Si ha configurado una alarma estándar, esta evalúa la métrica cada minuto. Durante la evaluación, la alarma obtiene los puntos de datos más recientes disponibles de la métrica configurada. Durante este período sin conectividad, la alarma sigue evaluando la métrica. Como los puntos de datos no se entregan correctamente a CloudWatch, la alarma no puede recuperar ningún punto de datos de esos períodos de evaluación. Esto desencadena un estado INSUFFICIENT_DATA.

Tras recuperar la conectividad, la aplicación envía los puntos de datos pendientes y cada uno tendrá su propia marca de tiempo. Como los puntos de datos se envían después de este retraso, la alarma ahora puede recuperar los puntos de datos recientes según el período y el período de evaluación que haya especificado en ella. A partir de este momento, ya no verá espacios en blanco en la métrica, pues los puntos de datos ahora se almacenan en CloudWatch. Sin embargo, dado que la alarma ya ha evaluado ese período de tiempo, el historial de alarmas sigue mostrando un mensaje similar al siguiente:

[...]
   "stateValue": "INSUFFICIENT_DATA",
   "stateReason": "Insufficient Data: 2 datapoints were unknown.",
   [...]

Si no desea que la alarma permanezca en el estado INSUFFICIENT_DATA, puede cambiar la forma en que la alarma trata los datos faltantes.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años