Creación de alarmas de CloudWatch - Amazon DynamoDB

Creación de alarmas de CloudWatch

Una alarma de CloudWatch vigila una única métrica durante el período especificado y realiza una o varias acciones determinadas en función del valor de la métrica en relación a un umbral durante un período de tiempo. La acción es una notificación que se envía a un tema de Amazon SNS o a una política de escalado automático. Puede agregar alarmas a los paneles para poder monitorear y recibir alertas sobre sus recursos y aplicaciones de AWS en varias regiones. No existe ningún límite respecto al número de alarmas que se pueden crear. Las alarmas de CloudWatch no invocan acciones tan solo por tener un estado determinado; es necesario que el estado haya cambiado y se mantenga durante un número específico de periodos. Para obtener una lista de las alarmas de DynamoDB recomendadas, consulte Alarmas recomendadas.

nota

Debe especificar todas las dimensiones necesarias al crear la alarma CloudWatch, ya que CloudWatch no agrupará métricas para una dimensión que falta. Si crea una alarma de CloudWatch con una dimensión que falta no dará lugar a un error al crear la alarma.

Supongamos que tiene una tabla aprovisionada con cinco unidades de capacidad de lectura. Desea recibir una notificación antes de que consuma toda la capacidad de lectura aprovisionada, por lo que decide crear una alarma de CloudWatch para recibir una notificación cuando la capacidad consumida alcance el 80 % de lo que ha aprovisionado para la tabla. Puede crear alarmas en la consola de CloudWatch o utilizando la AWS CLI.

Creación de una alarma en la consola de CloudWatch

Creación de una alarma en la consola de CloudWatch
  1. Inicie sesión en la AWS Management Console y abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Alarms (Alarmas) y, luego, Create Alarm (Crear alarma).

  3. Elija Create alarm (Crear alarma).

  4. Busque la fila en la que está la tabla que desea monitorear y ConsumeReadCapacityUnits en la columna Nombre de métrica. Seleccione la casilla de verificación situada junto a esta fila y elija Seleccionar métrica.

  5. En Especifique la métrica y las condiciones, en Estadística, elija Suma. Elija un Periodo de 1 minuto.

  6. En Conditions (Condiciones), especifique lo siguiente:

    1. En Threshold type (Tipo de umbral), elija Static (Estático).

    2. En Siempre que ConsumedReadCapacityUnits sea , elija Mayor/Igual y especifique un umbral de 240.

  7. Elija Siguiente.

  8. En Notificación, elija In alarm y seleccione el tema de SNS que enviará las notificaciones cuando la alarma se encuentre en el estado ALARM.

  9. Cuando haya terminado, elija Next (Siguiente).

  10. Ingrese un nombre y una descripción para la alarma y, a continuación, elija Next (Siguiente).

  11. En Preview and create (Obtener vista previa y crear), confirme que la información y las condiciones son las que desea y, a continuación, elija Create alarm (Crear alarma).

Creación de una alarma en la AWS CLI

aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm

Pruebe la alarma.

aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value OK
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value ALARM

Más ejemplos de AWS CLI

En el siguiente procedimiento, se describe cómo se le notifica si tiene solicitudes que superan las cuotas de rendimiento aprovisionadas de una tabla.

  1. Cree un tema de Amazon SNS arn:aws:sns:us-east-1:123456789012:requests-exceeding-throughput. Para obtener más información, consulte Configuración de Amazon Simple Notification Service.

  2. Cree la alarma.

    aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
  3. Pruebe la alarma.

    aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value OK
    aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value ALARM

En el siguiente procedimiento, se describe cómo se le notifica si se producen errores del sistema.

  1. Cree un tema de Amazon SNS arn:aws:sns:us-east-1:123456789012:notify-on-system-errors. Para obtener más información, consulte Configuración de Amazon Simple Notification Service.

  2. Cree la alarma.

    aws cloudwatch put-metric-alarm \ --alarm-name SystemErrorsAlarm \ --alarm-description "Alarm when system errors occur" \ --namespace AWS/DynamoDB \ --metric-name SystemErrors \ --dimensions Name=TableName,Value=myTable Name=Operation,Value=aDynamoDBOperation \ --statistic Sum \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --period 60 \ --unit Count \ --evaluation-periods 1 \ --treat-missing-data breaching \ --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
  3. Pruebe la alarma.

    aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value OK
    aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value ALARM