【问题标题】:CloudWatch alarm for invocation of Lambdas with scheduling periods > 1 day调度周期 > 1 天的 Lambda 调用的 CloudWatch 警报
【发布时间】:2017-10-17 20:54:14
【问题描述】:

我有一个触发每周运行的 Lambda,如果它连续 7 天以上没有运行,我希望有一个 CloudWatch 警报。

我的想法是Alarm if < 1 invocation for 8 days,但似乎不可能将其设置为超过 24 小时:

警报评估周期(数据点数乘以 指标)不得超过 24 小时。

是否有其他方法可以确保执行超过 24 小时触发的 Lambda?

【问题讨论】:

    标签: aws-lambda amazon-cloudwatch amazon-cloudwatch-metrics


    【解决方案1】:

    最长评估期为 24 小时。

    您可以通过使用CloudWatch PutMetricData API 创建自定义指标来解决此问题。您可以发布自上次执行 lambda 函数以来经过的时间,然后在该值超过 8 天时发出警报。

    执行此操作的一种方法是让您的 lambda 函数在每次触发时将执行时间戳存储到 DynamoDB。然后,您可以创建一个新函数,该函数将从 DynamoDB 读取该时间戳并将其与当前时间之间的差异发布到自定义指标(例如,每 1 小时触发一次 lambda)。

    一旦有了新的自定义指标,您就可以创建一个警报,如果某个 1 小时数据点的值超过 8 天,就会触发警报(这将解决您最初的问题)。您还可以将 Treat missing data as 选项设置为 坏 - 超出阈值(如果第二个 lambda 函数不会触发)。

    您还应该在CloudWatch Events errorsLambda errors 上设置警报。如果调度或 lambda 本身出现问题,这将提醒您。但是我上面提到的自定义指标也会在出现人为错误的情况下提醒您,例如有人错误地禁用或删除了事件或功能。

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 2021-10-25
      • 2020-04-21
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多