如何监控AWS Cloudwatch中缺少Lambda调用

时间:2016-11-07 15:53:01

标签: amazon-web-services

我们遇到过这样的问题:当我们期望它们时,lambda不会最终运行,无论是从Cloudwatch规则还是其他来源触发。我想配置一个Cloudwatch Alarm来提醒我lambda是否在预期的时间段内没有运行。

我的第一步是创建以下警报(对于我希望每天运行一次的lambda):

sum(invocations) < 1 for time period of 1 day

问题在于,如果从不调用lambda,它永远不会在Cloudwatch Metrics中生成数据点,因此警报会保持在insufficient data状态。

我想我可以编写一个单独的lambda,它将使用boto3来查找有关lambda的最新日志流的时间戳,并使用一些逻辑来确定它是否正常运行 - 但是这个看起来像一个荒谬的解决方案。

有没有办法在Cloudwatch Alarms中正确实现?

2 个答案:

答案 0 :(得分:0)

花了大约半天的时间来寻找解决同样的问题,我得出的结论是,仅使用CloudWatch无法解决这个问题。我们必须使用INSUFFICIENT_DATA状态来强调缺少调用。

答案 1 :(得分:0)

问题在于总和寄存器0没有数据点。因此,警报将进入“数据不足”状态,而不是“处于警报中”状态。 解决方法是,您可以执行以下操作:

1。转到“警报”中的“缺少数据处理”部分,然后选择:  2.“将丢失的数据视为不良(违反阈值)”

当您在24小时内调用0时,应将此状态设置为“警报”状态。