Quero usar o Amazon EventBridge para realizar uma ação personalizada com meu alarme do Amazon CloudWatch.
Breve descrição
É possível usar os alarmes do CloudWatch integrados ao EventBridge para automatizar a remediação ou a recuperação do seu ambiente.
É possível usar sua regra do EventBridge para monitorar um alarme do CloudWatch para alterações de configuração, por exemplo, criar, atualizar ou excluir. Também é possível usar sua regra para monitorar mudanças de estado, por exemplo, OK, ALARME ou INSUFICIENTE. É possível associar sua regra a qualquer alvo compatível.
Resolução
Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Quando o CloudWatch encontra uma mudança de estado, ele envia uma notificação do Amazon Simple Notification Service (Amazon SNS) ou invoca uma função do AWS Lambda. Ou pode responder com um Amazon Elastic Compute Cloud (Amazon EC2) ou uma ação do AWS Auto Scaling.
É possível usar uma regra do EventBridge para criar uma ação personalizada. Quando ocorre uma mudança de estado, a regra do EventBridge invoca destinos para realizar respostas personalizadas. Você deve criar a regra na mesma região do alarme do CloudWatch.
Crie um recurso para executar a ação personalizada
Certifique-se de que o recurso que você criou para executar sua ação personalizada seja um alvo compatível com o EventBridge.
Crie um alarme do CloudWatch
Conclua as etapas a seguir:
- Abra o console do CloudWatch.
- No painel de navegação, escolha Alarmes e depois Todos os alarmes.
- Selecione Criar alarme.
- Escolha Selecionar métrica.
- Escolha a guia Métricas representadas em gráfico.
- Selecione Estatística, por exemplo, Média, Máximo ou p99.
- Selecione Período, por exemplo, 1 minuto.
- Escolha Selecionar métrica.
- Em Condições, selecione os valores para tipo de limite, condição de alarme e valor limite.
Observação: esses parâmetros determinam quando o alarme muda de estado.
- Escolha Avançar.
- Na página Configurar ações, na seção Notificação, escolha Remover.
Observação: a ação é fornecida pelo alvo correspondente do EventBridge.
- Escolha Avançar.
- Insira um nome e uma descrição para o alarme. Em seguida, escolha Avançar.
- Em Visualizar e criar, revise a configuração do alarme. Em seguida, selecione Criar alarme.
Observação: para obter mais informações sobre como configurar os alarmes do CloudWatch, consulte Criar um alarme do CloudWatch com base em um limite estático.
Criar uma regra do EventBridge
Conclua as etapas a seguir:
- Abra o console do EventBridge.
- No painel de navegação, escolha Regras.
- Selecione Criar regra.
- Insira um Nome.
- (Opcional) Insira uma descrição para a regra.
- Para o Barramento de eventos, escolha o barramento de eventos padrão da AWS.
- Em Tipo de regra, escolha Regra com um padrão de evento.
- Escolha Avançar.
- Em Método de criação, Selecione Padrão personalizado (editor JSON).
- Para Event Pattern, copie e personalize um dos exemplos de padrões de evento. O exemplo a seguir inicia uma alteração na configuração do CloudWatch Alarm para atualizações de um alarme específico:
{
"source": ["aws.cloudwatch"],
"detail-type": ["CloudWatch Alarm Configuration Change"],
"detail": {
"alarmName": ["NGiNX 4XX Responses"],
"operation": ["update"]
}
}
O exemplo a seguir inicia uma alteração na configuração do CloudWatch Alarm para atualizações em um namespace e métrica específicos:
{
"source": ["aws.cloudwatch"],
"detail-type": ["CloudWatch Alarm Configuration Change"],
"detail": {
"configuration": {
"metrics": {
"metricStat": {
"metric": {
"name": ["CPUUtilization"],
"namespace": ["AWS/EC2"]
}
}
}
}
}
}
O exemplo a seguir inicia a alteração do estado de alarme do CloudWatch para um alarme específico no estado ALARME:
{
"source": ["aws.cloudwatch"],
"detail-type": ["CloudWatch Alarm State Change"],
"detail": {
"alarmName": ["NGiNX 4XX Responses"],
"state": {
"value": ["ALARM"]
}
}
}
- Escolha Avançar.
- Na seção Selecionar alvo(s), escolha os alvos que executam a lógica personalizada e, em seguida, escolha Avançar.
- Adicione todas as tags relevantes à regra e escolha Avançar.
- Selecione Criar regra.
Valide a regra
Realize as seguintes ações:
- Confirme se a regra é iniciada para regras que monitoram a configuração do alarme, como criar, atualizar ou excluir o alarme.
- Confirme se a regra é iniciada para regras que monitoram o estado do alarme. Use a operação da API SetAlarmState para alterar temporariamente o estado do alarme.
O exemplo de comando AWS CLI a seguir força o alarme ao estado ALARME:
aws cloudwatch set-alarm-state \\--alarm-name "NGiNX 4XX Responses" \\
\--state-value ALARM \\
\--state-reason "Validation Testing"
Para confirmar que sua regra do EventBridge invocou os alvos, use as métricas TriggeredRules, Invocations e FailedInvocations. Para localizar as métricas, navegue até sua regra e escolha a guia Monitoramento no console do EventBridge. Ou veja as métricas no console do CloudWatch no namespace AWS/Events.
Informações relacionadas
Eventos de alarme e EventBridge