View a markdown version of this page

Uso do PromQL em alarmes - Amazon CloudWatch

Uso do PromQL em alarmes

Você pode criar alarmes do CloudWatch que usam consultas do PromQL para monitorar suas métricas. Os alarmes do PromQL avaliam uma expressão do PromQL e acionam as alterações no estado do alarme com base nos resultados da consulta.

Para obter informações sobre conceitos de alarmes, consulte Conceitos.

Para obter informações sobre consultas de dados de alarmes, consulte Consultas de dados de alarmes.

Para obter informações sobre as ações de alarmes, consulte Ações de alarme.

Para obter informações sobre limites de alarmes, consulte Limites.

Criação de um alarme do PromQL

Você pode criar um alarme do PromQL no console do CloudWatch, na AWS CLI ou na API do CloudWatch.

Para criar um alarme do PromQL no console
  1. Abra o console do CloudWatch.

  2. No painel de navegação, selecione Alarmes, Todos os alarmes.

  3. Selecione Criar alarme.

  4. Escolha Selecionar métrica e, em seguida, a guia PromQL.

  5. Insira sua consulta do PromQL. A consulta deve retornar uma única série temporal para o alarme a ser avaliado.

  6. Configure as condições do alarme, incluindo o limite, o período de avaliação e os pontos de dados para acionar o alarme.

  7. Configure as ações do alarme, como notificações do Amazon SNS.

  8. Insira um nome e uma descrição para o alarme e escolha Criar alarme.

Você também pode criar um alarme do PromQL diretamente de Execução de consultas do PromQL no Query Studio (versão de pré-visualização) após a execução de uma consulta que retorne uma única série temporal.

Criação de um alarme do CloudWatch usando o PromQL para detecção de anomalias

Você pode criar um alarme do PromQL que é acionado quando uma métrica viola um intervalo esperado definido por limites estatísticos. A consulta de alarme combina os limites superior e inferior em uma única expressão que retorna somente os pontos de dados anômalos. Qualquer série temporal retornada pela consulta é considerada em violação.

O exemplo de expressão a seguir detecta quando uma métrica de solicitação de anúncio excede três desvios padrão da mediana em uma janela de 60 minutos:

1 * {"app.ads.ad_requests"} > quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) + 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m) or 1 * {"app.ads.ad_requests"} < clamp_min( quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) - 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m), 0)

Essa expressão funciona em vários valores de rótulos para que o alarme possa rastrear anomalias em toda a sua frota. Cada série temporal em violação é rastreada como um colaborador separado. Para obter mais informações sobre como os alarmes do PromQL avaliam os colaboradores, consulte Alarmes do PromQL.

Você pode ajustar o multiplicador e a janela de tempo para corresponder ao comportamento da sua métrica. Um multiplicador maior produz limites mais amplos com menos falsos positivos. Uma janela de tempo mais longa suaviza os picos de curto prazo. A função clamp_min evita que o limite inferior seja negativo para métricas que não podem ter valores negativos.

Para obter mais informações sobre a criação de faixas para a detecção de anomalias, consulte Detecção de anomalias usando o PromQL.