繁体   English   中英

在多个 SQS 队列上创建 CloudWatch 警报

[英]Create CloudWatch alarm on multiple SQS queues

假设我在自动扩展组中有N个 EC2 实例,每个实例都在轮询M个 SQS 队列。 如果可能,我将如何在所有 SQS 队列中的累积ApproximateNumberOfMessagesVisible上创建警报?

到目前为止,没有可用的可见消息量度累积计数。

这是解决问题的方法,

创建一个Lambda / cron作业,该作业可以轮询队列,在每个队列上获取ApproximateNumberOfMessages ,并将总消息更新为自定义Cloudwatch指标。

QueueAttributes:

http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html

自定义Cloudwatch指标:

http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html

您可以创建一个lambda(无服务器),或者如果您希望基于服务器,则可以使用cli将总计数轮询并更新到自定义cloudwatch指标中,并将其更新为AWS cloudwatch。

有了cloudwatch指标后,您可以基于这些数字创建警报。

希望能帮助到你。

您可以定义带有云层的警报。 关键是定义一个自定义
表达式,其中每个表达式按队列具有一个或多个指标。 Dimesions 允许将度量与队列相关联。

MyDeadLetterQueueAlarm:
  Type: AWS::CloudWatch::Alarm
  Properties:
    AlarmName: my-dlq-alarm
    AlarmDescription: 'Alarm when any Dead letter queue has items.'
    Metrics:
    - Id: summary
      Label: Dead Letter Queues Alarm
      Expression: IF(dlq1 > 1, 1, 0) OR IF(dlq2 > 1, 1, 0)
      ReturnData: true
    - Id: dlq1
      MetricStat:
        Metric:
          Namespace: AWS/SQS
          MetricName: ApproximateNumberOfMessagesVisible
          Dimensions:
          - Name: QueueName
            Value: !GetAtt
            - MyDeadLetterQueue1
            - QueueName
        Stat: Sum
        Period: 300
      ReturnData: false
    - Id: dlq2
      MetricStat:
        Metric:
          Namespace: AWS/SQS
          MetricName: ApproximateNumberOfMessagesVisible
          Dimensions:
          - Name: QueueName
            Value: !GetAtt
            - MyDeadLetterQueue2
            - QueueName
        Stat: Sum
        Period: 300
      ReturnData: false
    EvaluationPeriods: 1
    DatapointsToAlarm: 1
    Threshold: 0
    ComparisonOperator: GreaterThanThreshold
    TreatMissingData: notBreaching
    AlarmActions:
      - !Ref MyTopicArn

我认为您应该将表达式求和以具有累积值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM