Por que meu alarme do CloudWatch foi disparado quando sua métrica não tem nenhum ponto de dados de violação?

5 minuto de leitura
0

Meu alarme do Amazon CloudWatch mudou para o estado ALARM. Quando verifico a métrica que está sendo monitorada, o gráfico do CloudWatch não mostra nenhum ponto de dados violado. No entanto, o Histórico de Alarmes contém uma entrada com um ponto de dados de violação. Por que meu alarme do CloudWatch foi disparado?

Breve descrição

Os alarmes do CloudWatch avaliam as métricas com base nos pontos de dados que estão disponíveis em um determinado momento. O **histórico de alarmes ** captura um registro dos pontos de dados que o alarme avaliou naquele carimbo de data/hora. No entanto, é possível que novas amostras sejam publicadas após a avaliação do alarme. Essas novas amostras podem impactar o valor calculado quando o CloudWatch agrega os dados métricos.

Resolução

Encontrar os pontos de dados violadores

Se o gráfico do CloudWatch não mostrar nenhum ponto de dados violador, significa que esses pontos de dados ocorreram fora do horário de avaliação do alarme. Para entender como isso acontece, consulte o exemplo a seguir.

Neste exemplo, o número X de amostras está disponível quando ocorre uma avaliação do alarme, resultando em um valor agregado de A. Posteriormente, novas amostras são publicadas, resultando no número Y de amostras recuperadas com o mesmo carimbo de data/hora. Isso resulta em um valor agregado diferente de B.

Nessa situação, um alarme é configurado com os seguintes parâmetros:

  • Namespace: Web_App
  • Metric: ResponseTime
  • Dimension: host,h_04254448d4e964956
  • Statistic: Average
  • Threshold: 0.005
  • ComparisonOperator: GreaterThanThreshold
  • Period: 60 seconds (1 minute)
  • Evaluation Period: 1

Quando o alarme avalia o período de 12:00:00 a 12:01:00 UTC, os seguintes valores são recuperados pela métrica:

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421

A média desses valores é 0,006283333, que ultrapassa o limite de 0,005 segundos. Portanto, o alarme muda para o estado ALARM. O histórico do alarme captura os valores agregados que excedem o limite.

O host pode enfrentar temporariamente um problema de desempenho, que afeta o aplicativo cliente responsável pela publicação das métricas. Com isso, o host pode não publicar pontos de dados em intervalos igualmente espaçados. Nessa situação, amostras de 12:00 foram publicadas após a avaliação do alarme ter ocorrido. Abaixo estão todos os exemplos do carimbo de data/hora de 12:00:

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421
Sample-4: 12:00:00 UTC, numeric value: 0.00002
Sample-5: 12:00:00 UTC, numeric value: 0.00007

Depois de receber um alerta desse alarme, o usuário renderiza um gráfico do CloudWatch para analisar o comportamento da métrica. O CloudWatch recupera as cinco amostras das 12:00:00 às 12:01:00 UTC e as agrega como uma média de 0,003788. Isso é diferente do valor calculado anteriormente e está abaixo do limite. Portanto, os pontos de dados de violação não são visíveis no intervalo de tempo porque amostras adicionais foram publicadas após a avaliação do alarme.

Aumentar o intervalo de avaliação do alarme

O intervalo de avaliação de um alarme é o número de pontos de dados multiplicado pelo período. Configurar Datapoints to Alarm (Pontos de dados para alarme) pode resultar em um intervalo de avaliação mais longo. Quando um alarme gera alertas falsos devido a métricas atrasadas, aumentar o intervalo de avaliação permite que pontos de dados atrasados sejam considerados na avaliação do alarme. Isso reduz o número de alertas falsos.

O intervalo de avaliação pode ser aumentado de duas maneiras:

1.    Aumente o período. No exemplo a seguir, o período é aumentado para cinco minutos:

  • Namespace: Web_App
  • Metric: ResponseTime
  • Dimension: host,h_04254448d4e964956
  • Statistic: Average
  • Threshold: 0.005
  • ComparisonOperator: GreaterThanThreshold
  • Period: 300 seconds (5 minutes)
  • Evaluation Period: 1

-ou-

2.    Configure Datapoints to Alarm "M out of N".

No exemplo a seguir, M de N pontos de dados são configurados para dois de três.

  • Namespace: Web_App
  • Metric: ResponseTime
  • Dimension: host,h_04254448d4e964956
  • Statistic: Average
  • Threshold: 0.005
  • ComparisonOperator: GreaterThanThreshold
  • Period: 60 seconds (1 minute)
  • Evaluation Period (N): 3
  • Datapoints To Alarm (M): 2

Quando você configura Evaluation Period e Datapoints to Alarm como valores diferentes, você define um alarme “M out of N”. Datapoints to Alarm são M e o Evaluation Period é N. Por exemplo, se você configurar quatro dos cinco pontos de dados com um período de um minuto, o intervalo de avaliação será de cinco minutos. Da mesma forma, se você configurar três dos três pontos de dados com um período de dez minutos, o intervalo de avaliação será de trinta minutos.

Com Datapoints to Alarm configurado dessa forma, os Alarmes do CloudWatch avaliam mais pontos de dados. Eles também alteram o estado do alarme somente quando um número mínimo de pontos de dados (M) viola um determinado conjunto de pontos de dados (N). Esse parâmetro pode ajustar o alarme para ser disparado em um único ponto de dados ou exigir que vários pontos de dados façam a transição para o estado ALARM.

Para mais informações, consulte Criar um alarme do CloudWatch com base em um limite estático e Configurar como os alarmes do CloudWatch tratam os dados perdidos.


Informações relacionadas

Por que não recebi uma notificação do Amazon Simple Notification Service (Amazon SNS) sobre meu gatilho de alarme do CloudWatch?

Por que meu alarme do CloudWatch está no estado INSUFICIENTE_DATA?

Por que meu alarme do Amazon CloudWatch me enviou uma notificação após um único ponto de dados violado?

AWS OFICIAL
AWS OFICIALAtualizada há um ano