Uso de las alarmas de Amazon CloudWatch - Amazon CloudWatch

Uso de las alarmas de Amazon CloudWatch

Puede crear alarmas de métricas y compuestas en Amazon CloudWatch.

  • Una alarma de métrica supervisa una única métrica de CloudWatch o el resultado de una expresión matemática basada en métricas de CloudWatch. La alarma realiza una o varias acciones según el valor de la métrica o expresión con respecto a un umbral durante varios períodos de tiempo. La acción puede ser el envío de una notificación a un tema de Amazon SNS, la ejecución de una acción de Amazon EC2 o una acción de Amazon EC2 Auto Scaling o la creación de un OpsItem o incidente en Systems Manager.

  • Una alarma compuesta incluye una expresión de regla que tiene en cuenta los estados de alarma de otras alarmas que haya creado. La alarma compuesta entra en estado ALARM solo si se cumplen todas las condiciones de la regla. Las alarmas especificadas en la expresión de regla de una alarma compuesta pueden incluir alarmas de métricas y otras alarmas compuestas.

    El uso de alarmas compuestas puede reducir el ruido de las alarmas. Puede crear varias alarmas de métricas, así como crear una alarma compuesta y configurar alertas solo para la alarma compuesta. Por ejemplo, una alarma compuesta podría entrar en estado ALARM solo cuando todas las alarmas de métricas subyacentes estén en estado ALARM.

    Las alarmas compuestas pueden enviar notificaciones de Amazon SNS cuando cambian de estado y pueden crear OpsItems de Systems Manager o incidentes cuando entran en estado ALARMA, pero no pueden realizar acciones de EC2 ni acciones de Auto Scaling.

nota

Puede crear todas las alarmas que desee en su cuenta de AWS.

Puede agregar alarmas a los paneles para poder monitorear y recibir alertas sobre los recursos y aplicaciones de AWS en varias regiones. Después de agregar una alarma a un panel, la alarma se vuelve gris cuando está en estado INSUFFICIENT_DATA y roja cuando está en el estado ALARM. La alarma se muestra sin color cuando está en el estado OK.

También puede seleccionar como favoritas las alarmas visitadas recientemente desde la opción Favorites and recents (Favoritos y recientes) en el panel de navegación de la consola de CloudWatch. La opción Favorites and recents (Favoritos y recientes) tiene columnas para las alarmas favoritas y las alarmas visitadas recientemente.

Una alarma invoca acciones sólo cuando cambia de estado. La excepción es para las alarmas con acciones de Auto Scaling. En el caso de las acciones de Auto Scaling, la alarma sigue invocando la acción una vez por minuto que la alarma permanece en el nuevo estado.

Una alarma puede supervisar una métrica en la misma cuenta. Si ha habilitado la funcionalidad para cuentas cruzadas en la consola de CloudWatch, también puede crear alarmas que supervisen métricas en otras cuentas de AWS. No se admite la creación de alarmas compuestas en cuentas cruzadas. Se admite la creación de alarmas en cuentas cruzadas que utilicen expresiones matemáticas, con la excepción de que las funciones ANOMALY_DETECTION_BAND, INSIGHT_RULE y SERVICE_QUOTA no son compatibles con las alarmas en cuentas cruzadas.

nota

CloudWatch no prueba o valida las acciones que especifique, ni detecta errores de Amazon EC2 Auto Scaling o de Amazon SNS derivados de un intento de invocar acciones inexistentes. Asegúrese de que las acciones de alarma existan.

Estados de las alarmas de métricas

Una alarma de métrica tiene los siguientes estados posibles:

  • OK: la métrica o expresión está dentro del umbral definido.

  • ALARM: la métrica o expresión está fuera del umbral definido.

  • INSUFFICIENT_DATA: la alarma acaba de iniciarse, la métrica no está disponible o no hay suficientes datos disponibles en la métrica para determinar el estado de la alarma.

Evaluación de una alarma

Cuando crea una alarma, especifica tres valores para habilitar CloudWatch a fin de evaluar cuándo se debe cambiar el estado de la alarma:

  • Período es la duración de tiempo para evaluar la métrica o expresión para crear cada punto de datos individual para una alarma. Se expresa en segundos.

  • Evaluation Periods (Período de evaluación) es el número de los periodos más recientes, o de los puntos de datos, para evaluar a la hora de determinar el estado de la alarma.

  • Datapoints to Alarm (Puntos de datos para la alarma) es el número de puntos de datos en el periodo de evaluación que deben estar fuera del umbral para provocar que la alarma tenga el estado ALARM. No es necesario que los puntos de datos fuera del umbral sean consecutivos, pero todos ellos deben estar dentro de la última cantidad de puntos de datos igual al Evaluation Period (Periodo de evaluación).

Para cualquier período de un minuto o más, se evalúa una alarma cada minuto y la evaluación se basa en el intervalo de tiempo definido por el Período y los Períodos de evaluación. Por ejemplo, si el Período es de 5 minutos (300 segundos) y los Períodos de evaluación son 1, al final del minuto 5, la alarma se evalúa en función de los datos de los minutos 1 a 5. Luego, al final del minuto 6, la alarma se evalúa en función de los datos de los minutos 2 a 6.

Si el período de alarma es de 10 o 30 segundos, la alarma se evalúa cada 10 segundos.

En la siguiente figura, el umbral de alarma de una métrica de alarma está definido en tres unidades. El Evaluation Period (Período de evaluación) y los Datapoints to Alarm (Puntos de datos para la alarma) son 3. Es decir, cuando los puntos de datos existentes en los últimos tres periodos consecutivos superan el umbral, la alarma pasa al estado ALARM. En la figura, esto sucede en los periodos de tiempo del tercero al quinto. En el sexto período, el valor cae por debajo del umbral, por lo que uno de los períodos que se evalúa no está fuera del umbral y el estado de la alarma cambia a OK. Durante el noveno período de tiempo, el umbral se incumple de nuevo, pero solo para un periodo. Por lo tanto, el estado de la alarma se mantiene OK.


        Alarma de disparador de umbral de alarma

Al configurar Evaluation Periods (Períodos de evaluación) y Datapoints to Alarm (Puntos de datos para la alarma) como valores distintos, se establece una alarma ‘M de N’. Datapoints to Alarm (Puntos de datos para la alarma) es (‘M’) y Evaluation Periods (Períodos de evaluación) es (‘N’). El intervalo de evaluación es el número de periodos de evaluación multiplicado por la duración del periodo. Por ejemplo, si configura 4 de 5 puntos de datos con un periodo de 1 minuto, el intervalo de evaluación es de 5 minutos. Si configura 3 de 3 puntos de datos con un periodo de 10 minutos, el intervalo de evaluación es de 30 minutos.

nota

Si faltan puntos de datos poco después de crear una alarma y la métrica se estaba notificando a CloudWatch antes de crear la alarma, CloudWatch recupera los puntos de datos más recientes antes de que se creara la alarma a la hora de evaluar la alarma.

Acciones de la alarma

Puede especificar las acciones que realiza una alarma cuando cambia de estado entre los estados OK, ALARM (ALARMA) y INSUFFICIENT_DATA (DATOS INSUFICIENTES).

Se puede configurar la mayoría de las acciones para la transición a cada uno de los tres estados. A excepción de las acciones de escalado automático, las acciones solo se producen en las transiciones de estado y no se vuelven a realizar si la condición persiste durante horas o días. Puede aprovechar el hecho de que se pueden realizar varias acciones para que una alarma envíe un correo electrónico cuando se supere un umbral y, después, otro cuando finalice la condición de incumplimiento. Esto le ayuda a comprobar que sus acciones de escalado o recuperación se activan cuando se espera y funcionan como se desea.

Las siguientes se admiten como acciones de la alarma.

  • Notifique a uno o más suscriptores usando un tema de Amazon Simple Notification Service. Los suscriptores pueden ser tanto aplicaciones como personas. Para obtener información completa sobre Amazon SNS, consulte What is Amazon SNS? (¿Qué es Amazon SNS?)

  • Invoque una función de Lambda. Esta es la forma más sencilla de automatizar las acciones personalizadas en cambios de estado de alarma.

  • Las alarmas basadas en métricas de EC2 también pueden realizar acciones de EC2, como detener, terminar, reiniciar o recuperar una instancia EC2. Para obtener más información, consulte Crear alarmas para detener, terminar, reiniciar o recuperar una instancia EC2.

  • Las alarmas pueden realizar acciones para escalar un grupo de escalado automático. Para obtener más información, consulte Step and simple scaling policies for Amazon EC2 Auto Scaling (Pasos y políticas de escalado simples para Amazon EC2 Auto Scaling).

  • También puede crear OpsItems en el Centro de operaciones de Systems Manager o crear incidentes en Incident Manager de Systems Manager de AWS. Estas acciones se realizan solo cuando la alarma entra en estado de ALARMA. Para obtener más información, consulte Configuring CloudWatch to create OpsItems from alarms (Configuración de CloudWatch para crear OpsItems a partir de alarmas) y Incident creation (Creación de incidentes).

Acciones de la alarma de Lambda

Las alarmas de CloudWatch garantizan una invocación asíncrona de la función de Lambda para un cambio de estado determinado, excepto en los siguientes casos:

  • Cuando la función no existe.

  • Cuando CloudWatch no está autorizado a invocar la función de Lambda.

Si CloudWatch no puede acceder al servicio de Lambda o el mensaje se rechaza por otro motivo, CloudWatch lo volverá a intentar hasta que la invocación se realice correctamente. Lambda pone en cola el mensaje y maneja los reintentos de ejecución. Para obtener más información sobre este modelo de ejecución, incluida la información sobre cómo Lambda gestiona los errores, consulte Invocación asíncrona en la Guía para desarrolladores de AWS Lambda.

Puede invocar una función de Lambda en la misma cuenta o en otras cuentas de AWS.

Al especificar una alarma para invocar una función de Lambda como acción de alarma, puede elegir especificar el nombre de la función, el alias de la función o una versión específica de la función.

Al especificar una función de Lambda como acción de la alarma, debe crear una política de recursos para la función para permitir que la entidad principal del servicio de CloudWatch invoque la función.

Una forma de hacerlo es utilizar AWS CLI, como en el siguiente ejemplo:

aws lambda add-permission \ --function-name my-function-name \ --statement-id AlarmAction \ --action 'lambda:InvokeFunction' \ --principal lambda.alarms.cloudwatch.amazonaws.com \ --source-account 111122223333 \ --source-arn arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name

Como alternativa, puede crear una política similar a uno de los ejemplos siguientes y, a continuación, asignarla a la función.

El siguiente ejemplo especifica la cuenta en la que se encuentra la alarma, de modo que solo las alarmas de esa cuenta (111122223333) pueden invocar la función.

{ "Version": "2012-10-17", "Id": "default", "Statement": [{ "Sid": "AlarmAction", "Effect": "Allow", "Principal": { "Service": "lambda.alarms.cloudwatch.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:444455556666:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "111122223333" } } }] }

El siguiente ejemplo tiene un ámbito más limitado, lo que permite que solo la alarma especificada en la cuenta especificada invoque la función.

{ "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "AlarmAction", "Effect": "Allow", "Principal": { "Service": "lambda.alarms.cloudwatch.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:444455556666:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "111122223333", "AWS:SourceArn": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name" } } }] }

No recomendamos crear una política que no especifique una cuenta de origen, ya que dichas políticas son vulnerables a errores del suplente confuso.

Objeto de evento enviado desde CloudWatch a Lambda

Al configurar una función de Lambda como acción de la alarma, CloudWatch entrega una carga útil de JSON a la función de Lambda cuando la invoca. Esta carga útil de JSON sirve como objeto de evento para la función. Puede extraer datos de este objeto JSON y utilizarlo en la función. El siguiente ejemplo muestra un objeto de evento de una alarma de métricas.

{ 'source': 'aws.cloudwatch', 'alarmArn': 'arn:aws:cloudwatch:us-east-1:444455556666:alarm:lambda-demo-metric-alarm', 'accountId': '444455556666', 'time': '2023-08-04T12:36:15.490+0000', 'region': 'us-east-1', 'alarmData': { 'alarmName': 'lambda-demo-metric-alarm', 'state': { 'value': 'ALARM', 'reason': 'test', 'timestamp': '2023-08-04T12:36:15.490+0000' }, 'previousState': { 'value': 'INSUFFICIENT_DATA', 'reason': 'Insufficient Data: 5 datapoints were unknown.', 'reasonData': '{"version":"1.0","queryDate":"2023-08-04T12:31:29.591+0000","statistic":"Average","period":60,"recentDatapoints":[],"threshold":5.0,"evaluatedDatapoints":[{"timestamp":"2023-08-04T12:30:00.000+0000"},{"timestamp":"2023-08-04T12:29:00.000+0000"},{"timestamp":"2023-08-04T12:28:00.000+0000"},{"timestamp":"2023-08-04T12:27:00.000+0000"},{"timestamp":"2023-08-04T12:26:00.000+0000"}]}', 'timestamp': '2023-08-04T12:31:29.595+0000' }, 'configuration': { 'description': 'Metric Alarm to test Lambda actions', 'metrics': [ { 'id': '1234e046-06f0-a3da-9534-EXAMPLEe4c', 'metricStat': { 'metric': { 'namespace': 'AWS/Logs', 'name': 'CallCount', 'dimensions': { 'InstanceId': 'i-12345678' } }, 'period': 60, 'stat': 'Average', 'unit': 'Percent' }, 'returnData': True } ] } } }

El siguiente ejemplo muestra un objeto de evento de una alarma compuesta.

{ 'source': 'aws.cloudwatch', 'alarmArn': 'arn:aws:cloudwatch:us-east-1:111122223333:alarm:SuppressionDemo.Main', 'accountId': '111122223333', 'time': '2023-08-04T12:56:46.138+0000', 'region': 'us-east-1', 'alarmData': { 'alarmName': 'CompositeDemo.Main', 'state': { 'value': 'ALARM', 'reason': 'arn:aws:cloudwatch:us-east-1:111122223333:alarm:CompositeDemo.FirstChild transitioned to ALARM at Friday 04 August, 2023 12:54:46 UTC', 'reasonData': '{"triggeringAlarms":[{"arn":"arn:aws:cloudwatch:us-east-1:111122223333:alarm:CompositeDemo.FirstChild","state":{"value":"ALARM","timestamp":"2023-08-04T12:54:46.138+0000"}}]}', 'timestamp': '2023-08-04T12:56:46.138+0000' }, 'previousState': { 'value': 'ALARM', 'reason': 'arn:aws:cloudwatch:us-east-1:111122223333:alarm:CompositeDemo.FirstChild transitioned to ALARM at Friday 04 August, 2023 12:54:46 UTC', 'reasonData': '{"triggeringAlarms":[{"arn":"arn:aws:cloudwatch:us-east-1:111122223333:alarm:CompositeDemo.FirstChild","state":{"value":"ALARM","timestamp":"2023-08-04T12:54:46.138+0000"}}]}', 'timestamp': '2023-08-04T12:54:46.138+0000', 'actionsSuppressedBy': 'WaitPeriod', 'actionsSuppressedReason': 'Actions suppressed by WaitPeriod' }, 'configuration': { 'alarmRule': 'ALARM(CompositeDemo.FirstChild) OR ALARM(CompositeDemo.SecondChild)', 'actionsSuppressor': 'CompositeDemo.ActionsSuppressor', 'actionsSuppressorWaitPeriod': 120, 'actionsSuppressorExtensionPeriod': 180 } } }

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 ayudarle a configurar la alarma para que pase al estado ALARM solo cuando sea adecuado para el tipo de datos que se monitorean. Puede evitar falsos positivos cuando los datos que faltan no indican 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)

  • Missing (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. Para una métrica que notifica datos de forma continua como, por ejemplo, CPUUtilization de una instancia, es posible que desee tratar los puntos de datos que faltan como breaching, ya que pueden indicar que algo va mal. 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.

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

Alarmas que evalúan las métricas en el espacio de nombres de AWS/DynamoDB siempre ignora los datos que faltan incluso si elige una opción diferente de cómo debe tratar la alarma los datos que faltan. 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 MISSING IGNORE INFRACCIÓN SIN INFRACCIÓN

0 - X - X

0

OK

OK

OK

OK

- - - - 0

2

OK

OK

OK

OK

- - - - -

3

INSUFFICIENT_DATA

Mantener el estado actual

ALARM

OK

0 X X - X

0

ALARM

ALARM

ALARM

ALARM

- - X - -

2

ALARM

Mantener el estado actual

ALARM

OK

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 número 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

ALARM

ALARM

ALARM

ALARM

0 0 X 0 X

0

ALARM

ALARM

ALARM

ALARM

0 - X - -

1

OK

OK

ALARM

OK

- - - - 0

2

OK

OK

ALARM

OK

- - - - X

2

ALARM

Mantener el estado actual

ALARM

OK

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 sección a continuació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]).

Alarmas de alta resolución

Si configura una alarma en una métrica de alta resolución, puede especificar una alarma de alta resolución con un periodo de 10 o 30 segundos, o puede definir una alarma normal con un periodo de cualquier múltiplo de 60 segundos. El cargo es mayor en el caso de las alarmas de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte Publicar métricas personalizadas de .

Alarmas en expresiones matemáticas

Puede configurar una alarma basada en el resultado de una expresión matemática que se basa en una o varias métricas de CloudWatch. Una expresión matemática utilizada para una alarma puede incluir hasta 10 métricas. Cada métrica debe utilizar el mismo periodo.

Para una alarma basada en una expresión matemática, puede especificar cómo desea que CloudWatch trate los puntos de datos que faltan. En este caso, se considera que falta el punto de datos si la expresión matemática no devuelve un valor para ese punto de datos.

Las alarmas basadas de expresiones matemáticas no pueden realizar acciones de Amazon EC2.

Para obtener más información acerca de las expresiones matemáticas en métricas y las sintaxis, consulte Uso de la calculadora de métricas.

Muestras de datos reducidos y alarmas de CloudWatch basadas en percentiles

Al establecer un percentil como estadística para una alarma, puede especificar qué es lo que debe hacer cuando no hay suficientes datos para una buena evaluación estadística. Puede elegir que la alarma evalúe la estadística de todas formas y posiblemente cambie el estado de alarma. O bien, puede hacer que la alarma ignore la métrica mientras el tamaño de la muestra sea reducido y esperar a evaluarlo hasta que haya suficientes datos significativos estadísticamente.

Para los percentiles entre 0,5 (incluido) y 1,00 (excluido), esta configuración se utiliza cuando hay menos de 10/(1-percentil) puntos de datos durante el periodo de evaluación. Por ejemplo, esta configuración se utilizaría si se hubiera menos de 1 000 muestras para una alarma en un percentil p99. Para los percentiles entre 0 y 0,5 (excluido), la configuración se utiliza cuando hay menos de 10/percentil puntos de datos.

Características comunes de las alarmas de CloudWatch

Las siguientes características se aplican a todas las alarmas de CloudWatch:

  • No existe ningún límite respecto al número de alarmas que se pueden crear. Para crear o actualizar una alarma, utilice la consola de CloudWatch, la acción de la API PutMetricAlarm o el comando put-metric-alarm en la AWS CLI.

  • Los nombres de alarma deben contener solo caracteres UTF-8 y no pueden contener caracteres de control ASCII

  • Puede enumerar cualquiera o todas las alarmas configuradas actualmente y enumerar las alarmas en un estado determinado mediante la consola de CloudWatch, la acción de la API DescribeAlarms o el comando describe-alarms en la AWS CLI.

  • Puede desactivar y habilitar las alarmas mediante las acciones de la API DisableAlarmActions y EnableAlarmActions o los comandos disable-alarm-actions y enable-alarm-actions en la AWS CLI.

  • Para probar una alarma, configúrela en cualquier estado mediante la acción de la API SetAlarmState o el comando set-alarm-state en la AWS CLI. Este cambio de estado temporal dura solamente hasta que se produce la siguiente comparación de alarma.

  • Puede crear una alarma para una métrica personalizada antes de crear esa métrica personalizada. Para que la alarma sea válida, debe incluir todas las dimensiones para la métrica personalizada, además del espacio de nombres de métrica y nombre de métrica en la definición de alarma. Para ello, puede utilizar la acción de la API PutMetricAlarm o el comando put-metric-alarm en la AWS CLI.

  • Puede ver el historial de una alarma mediante la consola de CloudWatch, la acción de la API DescribeAlarmHistory o el comando describe-alarm-history en la AWS CLI. CloudWatch conserva el historial de las alarmas durante dos semanas. Cada transición de estado se marca con una marca temporal única. En casos excepcionales, el historial podría mostrar más de una notificación para un cambio de estado. La marca temporal le permite confirmar cambios de estado únicos.

  • Para seleccionar alarmas como favoritas desde la opción Favorites and recents (Favoritos y recientes) del panel de navegación de la consola de CloudWatch, pase el cursor sobre la alarma que desea agregar como favorita y elija el símbolo estrella junto a ella.

  • El número de periodos de evaluación para una alarma multiplicado por la duración de cada periodo de evaluación no puede superar un día.

nota

Algunos recursos de AWS no envían datos de métricas a CloudWatch bajo determinadas condiciones.

Por ejemplo, Amazon EBS podría no enviar los datos de métricas a un volumen disponible que no se haya adjuntado a una instancia de Amazon EC2, ya que no hay ningún tipo de actividad métrica que monitorear para dicho volumen. Si tiene una alarma establecida para dicha métrica, es posible que observe que su estado cambia a INSUFFICIENT_DATA. Esto podría indicar que el recurso está inactivo y no significa necesariamente que exista un problema. Puede especificar cómo trata cada alarma los datos ausentes. Para obtener más información, consulte Configuración de la forma en la que las alarmas de CloudWatch tratan los datos que faltan.