簡體   English   中英

沒有為SQS指標“ NumberOfMessagesReceived”觸發AWS CloudWatch警報

[英]AWS CloudWatch Alarm not triggered for SQS Metrics “NumberOfMessagesReceived”

如果消息發送到SQS我試圖觸發警報。 但是,我看到CloudWatch指標表明有消息但沒有觸發警報。

警報當前也處於INSUFFICIENT_DATA狀態。 為了進行測試,我正在通過boto3客戶端發送消息。

以下是我的SQSCloudWatch警報的CloudWatch模板

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"

使用roximateNumberOfMessagesVisible指標,而不是任何“已接收”指標。

使用“已接收”度量標准的不利之處在於,除非您不斷接收消息,否則您很可能會陷入INSUFFICIENT_DATA ,從而導致警報問題。

我通過更改警報資源的“ Dimensions properties來解決問題。 該資源需要引用隊列的arn ,並且之前已獲取到它的url

Dimensions:
    - Name: QueueName
      Value: { "Fn::GetAtt": [ "KinesisStreamFileQueue", "QueueName"] }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM