AWS CloudWatch零队列大小一周警报

时间:2017-05-05 21:16:13

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

我想知道是否有办法设置CloudWatch警报,如果SQS队列在7天内没有收到任何流量,它将发出警报。我目前有一个工作,每周一次在我的主机上运行,​​保证将消息添加到我的SQS队列,如果作业没有运行,我已经有办法报警,但如果由于某种原因,我也想报警作业确实运行但不向我的队列发送任何消息。我知道您可以设置的最长闹钟时间是1天。是否有另一种方法来创建一个能够满足我要求的警报?

编辑: 由于我的工作每周运行一次,是否有办法让警报每隔7天监控指标,看看是否有任何流量在24小时内到达队列?这是更准确的看到,因为我不期望或关心是否有任何流量,只有在第7天有交通。

1 个答案:

答案 0 :(得分:0)

CloudWatch警报设置period * number_of_datapoints_to_watch必须小于24小时的限制。据我所知,没有办法解决这个问题。

要获得所需的行为,您可以自己计算自上次活动以来的,将其作为自定义指标发布并发布警报。

一种方法是:

  1. 创建一个lambda函数,例如每小时触发一次。
  2. 在lambda中,为要监控的SQS指标调用CloudWatch GetMetricStatistics。
  3. 获取返回值大于0的最新数据点,并计算now与该数据点上的时间戳之间的差异。
  4. 使用CloudWatch PutMetricData将此值发布到新指标days-since-last-activity
  5. 现在,您可以在新指标的价值超过7天时发出警报。