[英]AWS CloudWatch Alarm not triggered for SQS Metrics “NumberOfMessagesReceived”
如果消息發送到SQS
我試圖觸發警報。 但是,我看到CloudWatch
指標表明有消息但沒有觸發警報。
警報當前也處於INSUFFICIENT_DATA
狀態。 為了進行測試,我正在通過boto3
客戶端發送消息。
以下是我的SQS
和CloudWatch
警報的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.