Criar um alarme do CloudWatch baseado em uma consulta ao Metrics Insights
Uma consulta do CloudWatch Metrics Insights ajuda você a consultar métricas em grande escala usando uma sintaxe semelhante à SQL. Você pode criar um alarme em qualquer consulta do Metrics Insights, incluindo consultas que retornam várias séries temporais. Esse recurso expande significativamente suas opções de monitoramento. Quando você cria um alarme baseado em uma consulta do Metrics Insights, o alarme se ajusta automaticamente à medida que recursos são adicionados ou removidos do grupo monitorado. Crie o alarme uma vez, e qualquer recurso que corresponda à definição e aos filtros da consulta se associará ao escopo de monitoramento de alarmes quando a métrica correspondente estiver disponível. Para consultas de várias séries temporais, cada série temporal retornada contribui para o alarme, permitindo um monitoramento mais granular e dinâmico.
Confira abaixo dois casos de uso principais dos alarmes do CloudWatch Metrics Insights:
-
Detecção de discrepâncias e monitoramento agregado
Crie um alarme em uma consulta do Metrics Insights que retorne uma única série temporal agregada. Essa abordagem funciona bem para alarmes dinâmicos que monitoram métricas agregadas em sua infraestrutura ou aplicações. Por exemplo, você pode monitorar a utilização máxima da CPU em todas as suas instâncias, com o alarme se ajustando automaticamente à medida que você escala sua frota.
Para criar um alarme de monitoramento agregado, use esta estrutura de consulta:
SELECT FUNCTION(metricName) FROM SCHEMA(...) WHERE condition; -
Monitoramento de frota por recurso
Crie um alarme que monitore várias séries temporais, em que cada série temporal funcione como um colaborador com seu próprio estado. O alarme é ativado quando qualquer colaborador entra no estado ALARM, acionando ações específicas do recurso. Por exemplo, monitore as conexões do banco de dados em várias instâncias do RDS para evitar rejeições de conexão.
Para monitorar várias séries temporais, use esta estrutura de consulta:
SELECT AVG(DatabaseConnections) FROM AWS/RDS WHERE condition GROUP BY DBInstanceIdentifier ORDER BY AVG() DESC;Ao criar alarmes de várias séries temporais, você deve incluir duas cláusulas principais em sua consulta:
-
Uma cláusula
GROUP BYque define como estruturar a série temporal e determina quantas séries temporais a consulta produzirá. -
Uma cláusula
ORDER BYque estabelece uma classificação determinística de suas métricas, permitindo que o alarme avalie os sinais mais importantes primeiro.
Essas cláusulas são essenciais para uma avaliação adequada do alarme. A cláusula
GROUP BYdivide seus dados em séries temporais separadas (por exemplo, por ID da instância), enquanto a cláusulaORDER BYgarante o processamento consistente e priorizado dessas séries temporais durante a avaliação do alarme. -
Limites que se aplicam a alarmes baseados em consultas do Metrics Insights
Ao trabalhar com os alarmes do CloudWatch Metrics Insights, esteja ciente destes limites funcionais:
-
200 alarmes usando essa sintaxe por conta, por região.
-
Somente as últimas três horas de dados podem ser usadas para avaliar as condições do alarme. No entanto, você pode visualizar até duas semanas de dados no grafo da página de detalhes do alarme.
-
Os alarmes que avaliam várias séries temporais limitarão a taxa de transições simultâneas a 100.
-
Os limites do Metrics Insights quanto ao número máximo de séries temporais analisadas ou retornadas se aplicam.
Para obter mais informações sobre cotas de serviço do CloudWatch, consulte Cotas de serviço do CloudWatch.
Pré-requisitos
Antes de criar um alarme do CloudWatch Metrics Insights, certifique-se de ter:
-
Permissões do IAM apropriadas para criar e gerenciar alarmes do CloudWatch.
-
Métricas disponíveis em sua conta da AWS para os recursos que você deseja monitorar.
-
Uma compreensão básica da sintaxe de consulta SQL.