我想触发一个AWS cloudwatch
每次有消息添加到我的 DLQ 时都会发出警报。我正在使用云形成来部署我的 sqs/dlq 资源,但我不知道如何配置此类警报。
配置警报时需要使用 NumberOfMessagesSent。请参阅CloudFormation中的参考:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html这是我的解决方案。这将为每条消息发出警报,但如果您的经期持续出现错误,警报状态将不会清除。如果警报状态未清除,则会阻止以后的通知。所以我不会把时间定得太长。
另请注意,如果您没有手动将消息添加到队列中,那么您将需要另一个解决方案。
AWS 文档 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html:
如果您手动将消息发送到死信队列,则该消息将由 NumberOfMessagesSent 指标捕获。但是,如果由于处理尝试失败而将消息发送到死信队列,则该指标不会捕获该消息。因此,NumberOfMessagesSent 和 NumberOfMessagesReceived 的值可能不同。
这个问题概述了一个解决方案,该解决方案更加模糊但相似配置 SQS 死信队列以在收到消息时发出云监视警报 https://stackoverflow.com/questions/60211243/configure-sqs-dead-letter-queue-to-raise-a-cloud-watch-alarm-on-receiving-a-mess/62096206#62096206
DLQthresholdAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmDescription: "Alarm dlq messages when we have 1 or more failed messages in 10 minutes"
Namespace: "AWS/SQS"
MetricName: "NumberOfMessagesSent"
Dimensions:
- Name: "QueueName"
Value:
Fn::GetAtt:
- "MyDeadLetterQueue"
- "QueueName"
Statistic: "Sum"
Period: 300
DatapointsToAlarm: 1
EvaluationPeriods: 2
Threshold: 1
ComparisonOperator: "GreaterThanOrEqualToThreshold"
AlarmActions:
- !Ref MyAlarmTopic
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)