

# Crear una alarma de uso de CPU
<a name="US_AlarmAtThresholdEC2"></a>

Puede crear una alarma de CloudWatch que envíe una notificación con Amazon SNS cuando la alarma cambie el estado de `OK` a `ALARM`.

La alarma cambia al estado `ALARM` cuando el uso promedio de la CPU de una instancia EC2 supera un umbral especificado para los períodos consecutivos especificados.

## Configuración de una alarma de uso de CPU con la Consola de administración de AWS
<a name="cpu-usage-alarm-console"></a>

Utilice estos pasos para utilizar la Consola de administración de AWS para crear una alarma de uso de CPU.

**Para crear una alarma basada en el uso de la CPU**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms** (Alarmas) y, a continuación, **All Alarms** (Todas las alarmas).

1. Elija **Crear alarma**.

1. Elija **Seleccionar métrica**.

1. En la pestaña **Todas las métricas**, elija la opción de **métricas de EC2**.

1. Elija una categoría de métricas (por ejemplo, **Métricas por instancia**).

1. Busque la fila con la instancia que desea que aparezca en la columna **InstanceId** y **CPUUtilization** en la columna **Metric Name** (Nombre de métrica). Seleccione la casilla de verificación situada junto a esta fila y elija **Seleccionar una métrica**.

1. En **Especifique la métrica y las condiciones**, en **Estadística** elija **Media** y elija uno de los percentiles predefinidos o especifique un percentil personalizado (por ejemplo, **p95.45**).

1. Seleccione un periodo (por ejemplo, **5 minutes**).

1. En **Conditions (Condiciones)**, especifique lo siguiente:

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

   1. En la opción de **cuando CPUUtilization es**, especifique **mayor que**. En **que...**, especifique el umbral que provocará que la alarma vaya al estado ALARM si la utilización de la CPU supera este porcentaje. Por ejemplo: 70.

   1. Elija **Configuración adicional**. Para **Puntos de datos para alarma**, especifique el número de periodos de evaluación (puntos de datos) que deben tener el estado `ALARM` para que se active la alarma. Si estos dos valores coinciden, creerá una alarma que pasará al estado `ALARM` si se infringen muchos periodos consecutivos.

      Para crear una alarma M de N, especifique un número menor para el primer valor que el especificado para el segundo valor. Para obtener más información, consulte [Evaluación de alarmas](alarm-evaluation.md).

   1. En **Missing data treatment (Tratamiento de datos que faltan)**, elija cómo debe comportarse la alarma cuando falten algunos puntos de datos. Para obtener más información, consulte [Configuración de la forma en la que las alarmas de CloudWatch tratan los datos que faltan](alarms-and-missing-data.md).

   1. Si la alarma utiliza un percentil como estadística supervisada, aparece un cuadro **Percentiles with low samples (Percentiles con pocas muestras)**. Utilícelo para seleccionar si desea evaluar o no tener en cuenta los casos con frecuencias de muestreo bajas. Si elige **ignore (maintain alarm state) (ignorar (mantener el estado de alarma))**, el estado de alarma actual se mantiene siempre cuando el tamaño de la muestra es demasiado bajo. Para obtener más información, consulte [Muestras de datos reducidos y alarmas basadas en percentiles](percentiles-with-low-samples.md). 

1. Elija **Siguiente**.

1. En **Notification** (Notificación), elija **In alarm** (Con alarma) y seleccione el tema de SNS que enviará las notificaciones cuando la alarma se encuentre en el estado `ALARM`.

   Para que la alarma envíe varias notificaciones para el mismo estado de alarma o para estados de alarma diferentes, seleccione **Add notificación (Añadir notificación)**.

   Para que la alarma no envíe notificaciones, elija **Remove (Eliminar)**.

1. Cuando haya terminado, elija **Next (Siguiente)**.

1. Escriba un nombre y la descripción de la alarma. A continuación, elija **Siguiente**.

   El nombre debe contener solo caracteres UTF-8 y no puede contener caracteres de control ASCII. La descripción puede incluir el formato Markdown, que solo se muestra en la pestaña **Detalles** de la alarma de la consola de CloudWatch. Markdown puede resultar útil para añadir enlaces a runbooks u otros recursos internos.

1. En **Obtener vista previa y crear**, confirme que la información y las condiciones son las que desea y, a continuación, elija **Crear alarma**.

## Configuración de una alarma de uso de CPU con la AWS CLI
<a name="cpu-usage-alarm-cli"></a>

Utilice estos pasos para utilizar la AWS CLI para crear una alarma de uso de CPU.

**Para crear una alarma basada en el uso de la CPU**

1. Configurar un tema de SNS. Para obtener más información, consulte [Configuración de notificaciones de Amazon SNS](Notify_Users_Alarm_Changes.md#US_SetupSNS).

1. Crear una alarma utilizando el comando [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) como se indica a continuación. 

   ```
   aws cloudwatch put-metric-alarm --alarm-name {{cpu-mon}} --alarm-description "Alarm when CPU exceeds 70%" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period {{300}} --threshold {{70}} --comparison-operator GreaterThanThreshold --dimensions  Name=InstanceId,Value={{i-12345678}} --evaluation-periods {{2}} --alarm-actions arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{my-topic}} --unit Percent
   ```

1. Pruebe la alarma forzando un cambio de estado de alarma mediante el comando [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html).

   1. Cambie el estado de alarma de `INSUFFICIENT_DATA` a `OK`.

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value OK
      ```

   1. Cambie el estado de alarma de `OK` a `ALARM`.

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value ALARM
      ```

   1. Verifique que haya recibido una notificación por email acerca de la alarma.