You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何监控定时执行的AWS Lambda并在未执行时触发CloudWatch告警?

实现Lambda定时执行的CloudWatch告警方案

方案一:基于Invocations指标+EventBridge定时检查

完全依托AWS原生服务实现,无需额外编写Lambda代码:

  1. 创建基础CloudWatch指标告警

    • 进入CloudWatch控制台,选择「告警」>「创建告警」
    • 选择目标Lambda的Invocations指标:
      • 命名空间选AWS/Lambda,指标名称选Invocations,维度选择FunctionName并指定你的Lambda函数
    • 配置指标统计规则:
      • 统计类型选Sum,周期设为5分钟
      • 数据点选择1个数据点(精准覆盖4:00-4:05的执行窗口)
    • 设置告警触发条件:当Sum(Invocations) 等于 0时触发告警
    • 先保存告警(比如命名为Lambda-Missing-Invocation),暂时不配置通知
  2. 用EventBridge定时触发告警通知

    • 进入EventBridge控制台,选择「规则」>「创建规则」
    • 规则类型选「计划」,配置cron表达式:若使用UTC时区,对应每周一、周三16:05的表达式为5 16 ? * MON,WED *;如果是中国时区(UTC+8),需转换为UTC时间的8:05,表达式为5 8 ? * MON,WED *
    • 目标选择「CloudWatch告警」>「设置告警状态」
    • 配置目标参数:选择刚才创建的Lambda-Missing-Invocation告警,状态设置为「ALARM」
    • 回到CloudWatch告警配置页面,添加通知目标(比如SNS主题,用于发送邮件/短信提醒)

这样只有在每周一、周三的4:05,EventBridge会检查指标状态,若过去5分钟内Lambda无调用记录,就会触发告警并推送通知。

方案二:基于CloudWatch日志自定义指标+告警

如果你的Lambda会打印特定执行标识(比如[START] Lambda execution),可基于日志创建自定义指标实现告警:

  1. 创建日志指标过滤器

    • 进入CloudWatch控制台,找到你的Lambda日志组
    • 创建指标过滤器:
      • 过滤模式输入Lambda打印的执行开始标识(比如[START])
      • 命名空间设为Lambda-Custom,指标名称设为ExecutionStartCount,值设为1
    • 保存后,该指标会统计每分钟内匹配到的执行开始日志数量
  2. 配置CloudWatch告警

    • 选择自定义的ExecutionStartCount指标
    • 统计类型选Sum,周期设为5分钟,评估窗口设为1个数据点
    • 告警条件:Sum(ExecutionStartCount) 等于 0
    • 同样结合EventBridge的定时规则,在每周一、周三4:05触发告警检查;或者给告警添加抑制规则,仅允许在16:00-16:10之间发送通知,避免非目标时间的误告警

关键注意事项

  • 时区转换:AWS cron表达式默认使用UTC时间,需将本地时间转换为UTC后配置
  • 统计窗口精准性:必须设置为5分钟,确保覆盖Lambda计划执行的时间区间
  • 通知有效性:确保SNS主题已订阅接收通知的渠道,且订阅状态为已确认

内容的提问来源于stack exchange,提问作者Kylian Rey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:35:25