我们遇到过这样的问题:当我们期望它们时,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中正确实现?
答案 0 :(得分:0)
花了大约半天的时间来寻找解决同样的问题,我得出的结论是,仅使用CloudWatch无法解决这个问题。我们必须使用INSUFFICIENT_DATA状态来强调缺少调用。
答案 1 :(得分:0)
问题在于总和寄存器0没有数据点。因此,警报将进入“数据不足”状态,而不是“处于警报中”状态。 解决方法是,您可以执行以下操作:
1。转到“警报”中的“缺少数据处理”部分,然后选择: 2.“将丢失的数据视为不良(违反阈值)”
当您在24小时内调用0时,应将此状态设置为“警报”状态。