Тревога AWS CloudWatch не сработала для метрик SQS "NumberOfMessagesReceived" - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь вызвать тревогу, если сообщение отправлено на SQS.Тем не менее, я вижу, что метрика CloudWatch указывает на то, что было сообщение, но не сработало предупреждение.

Тревога в настоящее время также находится в состоянии INSUFFICIENT_DATA.Для тестирования я отправляю сообщение через boto3 клиент.

Ниже приведен мой шаблон CloudFormation для SQS и CloudWatch alarm

QueueMessageAlarm:
Type: AWS::CloudWatch::Alarm
Condition: AlarmsEnabled
Properties:
  AlarmDescription: "Alarm if queue message is greater than 0"
  AlarmActions:
    - !Ref SampleNotificationTopic
  Namespace: "AWS/SQS"
  MetricName: "NumberOfMessagesReceived"
  Statistic: "Sum"
  Period: "900"
  EvaluationPeriods: "1"
  Threshold: "0"
  ComparisonOperator: "GreaterThanThreshold"
  Dimensions:
    - Name: "QueueName"
    - Value:
        Fn::GetAtt:
          - "KinesisStreamFileQueue"
          - "QueueName"

KinesisStreamFileQueue:
  Type: AWS::SQS::Queue
  Properties:
    QueueName: "StreamQueue"

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Я выяснил проблему, изменив Dimensions properties для ресурса тревоги.Ресурс должен ссылаться на arn очереди, и ранее он получал url этого

Dimensions:
    - Name: QueueName
      Value: { "Fn::GetAtt": [ "KinesisStreamFileQueue", "QueueName"] }
0 голосов
/ 15 декабря 2018

Используйте метрику ApproximateNumberOfMessagesVisible вместо любой метрики «Получено».

Недостатком использования метрик «Получено» является то, что если вы постоянно не получаете сообщения, вы, вероятно, застрянете в INSUFFICIENT_DATA, что приведет к возникновению проблем с сигнализацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...