Configuración de la forma en la que las alarmas de CloudWatch tratan los datos que faltan
A veces, no todos los puntos de datos esperados para una métrica se notifican a CloudWatch. Por ejemplo, esto puede ocurrir cuando se pierde una conexión, un servidor deja de funcionar o cuando una métrica indica datos solo de forma intermitente por diseño.
CloudWatch le permite especificar cómo se tratan los puntos de datos que faltan a la hora de evaluar una alarma. Esto puede ayudarlo a configurar la alarma para que pase al estado ALARM solo cuando sea adecuado para el tipo de datos que se supervisan. Puede evitar falsos positivos cuando la falta de datos no indica un problema.
De forma similar al modo en que cada alarma siempre está en uno de los tres estados, cada punto de datos específico que se notifica a CloudWatch entra en una de las tres categorías:
-
Sin infracción (dentro del umbral)
-
Con infracción (se infringe el umbral)
-
Ausente
Para cada alarma, puede especificar que CloudWatch trate los puntos de datos que faltan de las siguientes maneras:
-
notBreaching: los puntos de datos que faltan se tratan como “buenos” y como si estuvieran dentro del límite. -
breaching: los puntos de datos que faltan se tratan como ‘malos’ y como si estuvieran fuera del umbral -
ignore: se mantiene la alarma actual -
missing: si faltan todos los puntos de datos del rango de evaluación de la alarma, la alarma cambia a INSUFFICIENT_DATA.
La mejor opción depende del tipo de métrica y del propósito de la alarma. Por ejemplo, si va a crear una alarma de reversión de una aplicación mediante una métrica que reporta datos de forma continua, puede ser conveniente considerar los puntos de datos faltantes como una infracción, ya que podrían indicar problemas potenciales. Pero para una métrica que genera puntos de datos solo cuando se produce un error, como ThrottledRequests en Amazon DynamoDB, es posible que desee tratar los datos que faltan como notBreaching. El comportamiento predeterminado es missing.
importante
Las alarmas configuradas en las métricas de Amazon EC2 pueden entrar temporalmente en el estado INSUFFICIENT_DATA si faltan puntos de datos de las métricas. Esto es poco frecuente, pero puede ocurrir cuando se interrumpe la generación de informes de métricas, incluso cuando la instancia de Amazon EC2 está en buen estado. En el caso de las alarmas de las métricas de Amazon EC2 que estén configuradas para realizar acciones de detención, finalización, reinicio o recuperación, le recomendamos que configure esas alarmas para tratar los datos faltantes como missing y hacer que estas alarmas se activen solo cuando estén en el estado ALARMA.
Elegir la mejor opción para su alarma evita cambios innecesarios y confusos en la condición de alarma y además indica con mayor precisión el estado de su sistema.
importante
De forma predeterminada, las alarmas que evalúan las métricas del espacio de nombres AWS/DynamoDB ignoran los datos faltantes. Puede anular esta opción si elige una opción diferente para el tratamiento de datos faltantes por parte de la alarma. Cuando la métrica AWS/DynamoDB tiene datos faltantes, las alarmas que evalúan esa métrica permanecen en su estado actual.
Cómo se evalúa el estado de alarma cuando faltan datos
Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado del número que se especifica como Evaluation Periods (Períodos de evaluación). El número exacto de puntos de datos que intenta recuperar depende de la duración del periodo de alarma y de si se basa en una métrica con resolución estándar o con alta resolución. El plazo de los puntos de datos que intenta recuperar es el rango de evaluación.
Una vez que CloudWatch recupera estos puntos de datos, ocurre lo siguiente:
-
Si no falta ningún punto de datos en el rango de evaluación, CloudWatch evalúa la alarma en función de los puntos de datos que se recopilaron recientemente. El número de puntos de datos evaluados es igual a los Evaluation Periods (Períodos de evaluación) para la alarma. Los puntos de datos adicionales que se encuentran más atrás en el rango de evaluación no son necesarios y no tienen en cuenta.
-
Si falta algún punto de datos en el rango de evaluación, pero el número de puntos de datos existentes que se recuperaron exitosamente es igual o superior a los Evaluation Periods (Períodos de evaluación) de la alarma, CloudWatch evalúa el estado de la alarma en función de los puntos de datos existentes más recientes que se han recuperado correctamente, incluidos los puntos de datos necesarios que se encuentran más atrás en el rango de evaluación. En este caso, el valor que establezca acerca de cómo tratar los datos que faltan no es necesario y no se tiene en cuenta.
-
Si falta algún punto de datos del rango de evaluación y el número de puntos de datos existente que se recuperaron es inferior al número de Evaluation Periods (Períodos de evaluación) de la alarma, CloudWatch rellena los puntos de datos que faltan con el resultado que ha especificado acerca de cómo se tratan los datos que faltan y, a continuación, evalúa la alarma. Sin embargo, cualquier punto de datos existentes en el rango de evaluación se incluye en la evaluación. CloudWatch utiliza los puntos de datos que faltan solo el menor número de veces posible.
nota
Un caso concreto de este comportamiento es que las alarmas de CloudWatch pueden evaluar una y otra vez el último conjunto de puntos de datos durante un período de tiempo después de que la métrica ha dejado de fluir. Esta reevaluación puede provocar que la alarma cambie de estado y que se vuelvan a ejecutar acciones, si cambió de estado inmediatamente antes de detenerse el flujo de la métrica. Para mitigar este comportamiento, utilice períodos más cortos.
Las tablas siguientes muestran ejemplos del comportamiento de evaluación de alarma. En la primera tabla, Datapoints to Alarm (Puntos de datos para la alarma) y Evaluation Periods (Períodos de evaluación) son ambos 3. CloudWatch recupera los 5 puntos de datos más recientes a la hora de evaluar la alarma, en caso de que falten algunos de los 3 puntos de datos más recientes. 5 es el rango de evaluación para la alarma.
En la columna 1 se muestran los 5 puntos de datos más recientes, ya que el rango de evaluación es 5. Estos puntos de datos se muestran con el punto de datos más reciente a la derecha. 0 es un punto de datos dentro del umbral, X es un punto de datos fuera del umbral y - es un punto de datos que falta.
En la columna 2 se indica cuántos de los tres puntos de datos necesarios faltan. Aunque se evalúan los últimos cinco puntos de datos, solo tres (el valor de Evaluation Periods [Períodos de evaluación]) son necesarios para evaluar el estado de la alarma. El número de puntos de datos de la columna 2 es el número de puntos de datos que deben completarse, utilizando la configuración de cómo se tratan los datos que faltan.
En las columnas 3-6, las cabeceras de columna son los valores posibles para tratar los datos que faltan. Las filas de estas columnas muestran el estado de la alarma que se establece para cada una de estas posibles formas de tratar los datos que faltan.
| Puntos de datos | Número de puntos de datos que deben llenarse | AUSENTE | IGNORE | INFRACCIÓN | SIN INFRACCIÓN |
|---|---|---|---|---|---|
|
0 - X - X |
0 |
|
|
|
|
|
- - - - 0 |
2 |
|
|
|
|
|
- - - - - |
3 |
|
Mantener el estado actual |
|
|
|
0 X X - X |
0 |
|
|
|
|
|
- - X - - |
2 |
|
Mantener el estado actual |
|
|
En la segunda fila de la tabla anterior, la alarma permanece OK incluso si los datos que faltan se tratan como infracción, ya que uno de los puntos de datos existente no se incumple y esto se evalúa junto con los dos puntos de datos que faltan que se tratan como infracción. La próxima vez que esta alarma se evalúe, si siguen faltando los datos, cambiará al estado ALARM, ya que el punto de datos dentro del umbral ya no estará en el rango de evaluación.
La tercera fila, donde faltan los cinco puntos de datos más recientes, ilustra cómo las distintas configuraciones para tratar los datos que faltan afectan el estado de la alarma. Si se considera que los puntos de datos faltantes están fuera del umbral, la alarma entra en el estado ALARM (ALARMA), mientras que si se considera que están dentro del umbral, la alarma cambia al estado OK. Si se ignoran los puntos de datos que faltan, la alarma retiene el estado actual que tenía antes de los puntos de datos que faltan. Y si los puntos de datos faltantes se consideran faltantes, entonces la alarma no tiene suficientes datos reales recientes para hacer una evaluación, y cambia al estado DATOS INSUFICIENTES.
En la cuarta fila, la alarma cambia al estado ALARM en todos los casos porque los tres puntos de datos más recientes están fuera del umbral, y los Evaluation Periods (Períodos de evaluación) de la alarma y Datapoints to Alarm (Puntos de datos a la alarma) se establecen en 3. En este caso, el punto de datos que falta no se tiene en cuenta y no se necesita la configuración para evaluar los datos faltantes, ya que hay tres puntos de datos existentes para evaluar.
La fila 5 representa un caso especial de evaluación de alarmas llamado estado de alarma prematuro. Para obtener más información, consulte Evitar transiciones prematuras al estado ALARM (ALARMA).
En la tabla siguiente, el Period (Período) se vuelve a establecer en 5 minutos y Datapoints to Alarm (Puntos de datos para alarma) es solo 2 mientras que Evaluation Periods (Períodos de evaluación) es 3. Se trata de una alarma 2 de 3, M de N.
El rango de evaluación es 5. Este es el número máximo de puntos de datos recientes que se recuperan y que se pueden utilizar en caso de que falten algunos.
| Puntos de datos | Cantidad de los puntos de datos que faltan | AUSENTE | IGNORE | INFRACCIÓN | SIN INFRACCIÓN |
|---|---|---|---|---|---|
|
0 - X - X |
0 |
|
|
|
|
|
0 0 X 0 X |
0 |
|
|
|
|
|
0 - X - - |
1 |
|
|
|
|
|
- - - - 0 |
2 |
|
|
|
|
|
- - - - X |
2 |
|
Mantener el estado actual |
|
|
En las filas 1 y 2, la alarma siempre pasa al estado ALARM (ALARMA) porque 2 de los 3 puntos de datos más recientes están fuera del umbral. En la fila 2, los dos puntos de datos más antiguos del rango de evaluación no son necesarios porque no falta ninguno de los 3 puntos de datos más recientes, por lo que estos dos puntos de datos antiguos no se tienen en cuenta.
En las filas 3 y 4, la alarma pasa al estado ALARM (ALARMA) solo si los datos que faltan se tratan como si estuvieras fuera del umbral, en cuyo caso los dos puntos de datos faltantes más recientes se tratan como fuera del umbral. En la fila 4, estos dos puntos de datos faltantes, que se tratan como fuera del umbral, proporcionan los dos puntos de datos fuera del umbral necesarios para activar el estado ALARM (ALARMA).
La fila 5 representa un caso especial de evaluación de alarmas llamado estado de alarma prematuro. Para más información, consulte la siguiente sección.
Evitar transiciones prematuras al estado ALARM (ALARMA)
La evaluación de alarmas de CloudWatch incluye lógica para tratar de evitar falsas alarmas, donde la alarma entra en el estado ALARM (ALARMA) prematuramente cuando los datos son intermitentes. El ejemplo que se muestra en la fila 5 de las tablas de la sección anterior ilustra esta lógica. En esas filas, y en los siguientes ejemplos, los Evaluation Periods (Períodos de evaluación) son 3 y el rango de evaluación es de 5 puntos de datos. Los Datapoints to Alarm (Puntos de datos a la alarma) son 3, excepto para el ejemplo M de N, donde los Datapoints to Alarm (Puntos de datos a la alarma) son 2.
Supongamos que los datos más recientes de una alarma son - - - - X, con cuatro puntos de datos que faltan y, a continuación, un punto de datos fuera del umbral como el punto de datos más reciente. Debido a que el siguiente punto de datos puede estar dentro del umbral, la alarma no entra inmediatamente en estado ALARMA cuando los datos son - - - - X o - - - X - y los Datapoints to Alarm (Puntos de datos a la alarma) son 3. De esta forma, se evitan los falsos positivos cuando el siguiente punto de datos está dentro del umbral y hace que los datos sean - - - X O o - - X - O.
Sin embargo, si los últimos puntos de datos son - - X - -, la alarma entra en estado ALARMA incluso si los puntos de datos que faltan se tratan como faltantes. Esto se debe a que las alarmas están diseñadas para entrar siempre en estado de ALARMA cuando el punto de datos fuera del límite más antiguo disponible durante la cantidad de puntos de datos de los periodos de evaluación es al menos tan antiguo como el valor de los Datapoints to Alarm (Puntos de datos a la alarma), y todos los demás puntos de datos más recientes están fuera del límite o faltan. En este caso, la alarma entra en estado ALARMA incluso si el número total de puntos de datos disponibles es inferior a M (Datapoints to Alarm [Puntos de datos a la alarma]).
Esta lógica de alarma también se aplica a las alarmas M de N. Si el punto de datos más antiguo fuera del umbral durante el intervalo de evaluación es al menos tan antiguo como el valor de los Datapoints to Alarm (Puntos de datos a la alarma), y todos los puntos de datos más recientes están fuera del umbral o faltan, la alarma entra en estado ALARMA sin importar el valor de M (Datapoints to Alarm [Puntos de datos a la alarma]).
Datos faltantes en las alarmas de Información de métricas de CloudWatch
Alarmas basadas en consultas de Información de métricas que se agregan a una sola serie temporal
Los escenarios de datos faltantes y sus efectos en la evaluación de la alarma son los mismos que los de una alarma de métricas estándar en cuanto al tratamiento de datos faltantes configurado. Consulte , Configuración de la forma en la que las alarmas de CloudWatch tratan los datos que faltan.
Alarmas basadas en consultas de Información de métricas que producen múltiples series temporales
Los escenarios de datos faltantes para las alarmas de Información de métricas se producen cuando:
-
Los puntos de datos individuales dentro de una serie temporal no están presentes.
-
Una o más series temporales desaparecen al evaluar varias series temporales.
-
La consulta no recupera ninguna serie temporal.
Los escenarios de datos faltantes afectan a la evaluación de la alarma de la siguiente manera:
-
Para evaluar una serie temporal, el tratamiento de datos faltantes se aplica a puntos de datos individuales dentro de la serie temporal. Por ejemplo, si se consultan 3 puntos de datos de la serie temporal, pero solo se recibe 1, 2 puntos de datos seguirían la configuración de datos faltantes configurada.
-
Si la consulta deja de recuperar una serie temporal, esta pasará al estado
OKsin importar el tratamiento de datos faltantes. Se pondrán en marcha las acciones de alarma asociadas a la transiciónOKde colaborador yStateReasonespecificará que no se ha encontrado al mencionado colaborador con el mensaje “No se han devuelto datos de este colaborador”. El estado de la alarma dependerá del estado de los demás colaboradores recuperados por la consulta. -
En el ámbito de las alarmas, si la consulta devuelve un resultado en blanco (ninguna serie temporal), la alarma pasará al estado
INSUFFICIENT_DATAsin importar el tratamiento de datos faltantes configurado.