Почему в некоторых случаях не срабатывает сигнал тревоги по облачным часам для порога = 35 минут и периода = 45 минут? - PullRequest
0 голосов
/ 21 марта 2020

Может ли кто-нибудь помочь мне понять, как cloudwatch отслеживает метрику очереди SQS c и генерирует сигнал тревоги?

У нас есть сценарий использования для запуска тревоги, когда какое-либо сообщение в очереди SQS «слишком старое» ", ie ApproximateAgeOfOldestMessage> = threshold.

Вот часть нашего шаблона облачной информации для него.

  MetricName: ApproximateAgeOfOldestMessage
  Dimensions:
    - Name: "QueueName"
      Value: !Sub the-queue
  Statistic: Maximum
  Period: 2700  //45min
  EvaluationPeriods: 1
  DatapointsToAlarm: 1
  Threshold: 2100   //35min
  ComparisonOperator: GreaterThanOrEqualToThreshold

Во время тестирования # 1 у меня было одно сообщение в очереди в нулевое время и не позаботился до, после 45 минут. И, как и ожидалось, сработал сигнал тревоги.

В тесте № 2 в очереди было одно сообщение в нулевой момент времени, которое не затрагивалось до 39 минут, а затем было удалено из очереди. На 45-й минуте в очереди не было ни одного сообщения. Тогда тревога не сработала.

Мой вопрос на самом деле о том, почему # 2 не вызовет тревогу или как создаются и контролируются точки данных в моей конкретной конфигурации. Насколько я понимаю, aws sqs будет отправлять sh одну точку данных метри c в облачные часы каждую 1 минуту. Поскольку я настроил будильник для проверки максимального значения ApproximateAgeOfOldestMessage в течение 45 минут, cloudwatch должен проверить 45 точек данных и выбрать самую большую из них. В этом случае № 2 вызовет тревогу. Что мне здесь не хватает? Пожалуйста помоги. Спасибо.

...