

# Criar um alarme de utilização de CPU
<a name="US_AlarmAtThresholdEC2"></a>

É possível criar um alarme do CloudWatch que envia uma notificação usando o Amazon SNS quando o alarme muda do estado `OK` para `ALARM`.

O alarme muda para o estado `ALARM` quando o uso médio da CPU de uma instância do EC2 ultrapassa um limite especificado por períodos consecutivos especificados.

## Configurar um alarme de uso da CPU usando o Console de gerenciamento da AWS
<a name="cpu-usage-alarm-console"></a>

Use estas etapas da Console de gerenciamento da AWS para criar um alarme de utilização de CPU.

**Como criar um alarme baseado no uso da CPU**

1. Abra o console do CloudWatch, em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Alarms** (Alarmes), **All alarms** (Todos os alarmes).

1. Selecione **Criar alarme**.

1. Escolha **Selecionar métrica**.

1. Na guia **Todas as métricas**, escolha **Métricas do EC2**.

1. Escolha uma categoria da métrica (por exemplo, **Métricas por instância**).

1. Localize a linha com a instância que deseja listar na coluna **InstanceId** e **CPUUtilization** na coluna **Nome da métrica**. Marque a caixa de seleção ao lado dessa linha e escolha **Selecionar métrica**.

1. Em **Especificar métrica e condições**, em **Estatística**, escolha **Média** e selecione um dos percentis predefinidos ou especifique um percentil personalizado (por exemplo, **p95.45**).

1. Escolha um período (por exemplo, **5 minutes**).

1. Em **Conditions (Condições)**, especifique o seguinte:

   1. Em **Tipo de limite**, escolha **Estático**.

   1. Em **Sempre que CPUUtilization for**, especifique **Maior**. Em **que...**, especifique o limite que deve acionar o alarme para ir para o estado ALARM se a utilização da CPU exceder essa porcentagem. Por exemplo, 70.

   1. Escolha **Additional configuration (Configuração adicional)**. Em **Datapoints to alarm (Pontos de dados para alarme)**, especifique quantos períodos de avaliação (pontos de dados) devem estar no estado `ALARM` para disparar o alarme. Se os dois valores forem correspondentes, você criará um alarme que passa para o estado `ALARM` se esses períodos consecutivos estiverem violando.

      Para criar um alarme M de N, especifique um número menor para o primeiro valor que especificar para o segundo valor. Para obter mais informações, consulte [Avaliação de alarme](alarm-evaluation.md).

   1. Para o **Missing data treatment (Tratamento de dados ausentes)**, escolha como deseja que o alarme se comporte quando alguns pontos de dados estiverem ausentes. Para obter mais informações, consulte [Configurar como os alarmes do CloudWatch tratam dados ausentes](alarms-and-missing-data.md).

   1. Se o alarme usar um percentil como estatística monitorada, uma caixa **Percentiles with low samples (Percentis com amostras baixas)** será exibida. Use-a para escolher se deseja avaliar ou ignorar casos com taxas de amostra baixas. Se você escolher **ignore (maintain the alarm state) (ignorar (manter o estado do alarme))**, o estado do alarme atual será sempre mantido quando o tamanho da amostra for muito baixo. Para obter mais informações, consulte [Alarmes baseados em percentil e exemplos de poucos dados](percentiles-with-low-samples.md). 

1. Escolha **Próximo**.

1. Em **Notificação**, escolha **Em alarme** e selecione um tópico do SNS para notificar quando o alarme estiver no estado `ALARM`

   Para que o alarme envie várias notificações para o mesmo estado de alarme ou para diferentes estados de alarme, escolha **Add notification (Adicionar notificação)**.

   Para que o alarme não envie notificações, escolha **Remove (Remover)**.

1. Quando terminar, escolha **Next** (Próximo).

1. Digite um nome e uma descrição para o alarme. Escolha **Próximo**.

   O nome deve conter somente caracteres UTF-8, e não poderá conter caracteres de controle ASCII. A descrição pode incluir a formatação de markdown, que é exibida somente na guia **Detalhes** do alarme no console do CloudWatch. O markdown pode ser útil para adicionar links para runbooks ou outros recursos internos.

1. Em **Preview and create (Visualizar e criar)**, confirme se as informações e condições são o que você deseja e escolha **Create alarm (Criar alarme)**.

## Configurar um alarme de uso da CPU usando o AWS CLI
<a name="cpu-usage-alarm-cli"></a>

Use estas etapas da AWS CLI para criar um alarme de utilização de CPU.

**Como criar um alarme baseado no uso da CPU**

1. Configure um tópico do SNS. Para obter mais informações, consulte [Configurar notificações do Amazon SNS](Notify_Users_Alarm_Changes.md#US_SetupSNS).

1. Crie um alarme usando o comando [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) da seguinte forma. 

   ```
   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. Teste o alarme forçando uma alteração de estado com o comando [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html).

   1. Altere o estado do alarme de `INSUFFICIENT_DATA` para `OK`.

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

   1. Altere o estado do alarme de `OK` para `ALARM`.

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

   1. Verifique se você recebeu uma notificação sobre o alarme.