繁体   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