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

AWS新手求助:Lambda执行日志无法在CloudTrail事件数据商店显示

Lambda执行记录到CloudTrail及可视化排查方案

核心问题

作为AWS新手,需将Lambda函数执行记录到CloudTrail并可视化查看执行时间,但事件数据存储(Event Data Store)无数据,Lake Dashboard未显示内容。

已完成操作回顾

  • 创建数据事件Trail,指定Lambda函数,S3已生成*.json.gz日志文件
  • 创建事件数据存储(EDS)并配置Trail事件复制,但EDS无数据

排查与解决步骤

一、确认Trail是否正确捕获Lambda执行事件

S3有日志不代表捕获了Invoke事件(Lambda执行对应的CloudTrail事件是lambda:InvokeFunction):

  • 下载并解压S3中的日志文件,检查eventName字段是否为InvokeFunction
  • 核对Trail的数据事件配置:
    • 资源类型选择AWS Lambda,资源ARN需精确到目标函数(如arn:aws:lambda:us-east-1:123456789012:function:MyFunction)
    • 事件类型勾选写(Invoke属于写操作)
    • 确认Trail处于启用状态,事件选择器未排除该Lambda

二、修复事件数据存储(EDS)无数据问题

  1. EDS仅同步配置生效后的新事件:之前生成的历史日志不会自动导入EDS,需重新运行Lambda触发新的Invoke事件,等待5-15分钟同步延迟后再查看
  2. 检查Trail到EDS的复制配置:
    • 进入CloudTrail Lake → 目标EDS → 查看「复制源」,确认关联的是你创建的Trail
    • 确认复制状态为「启用」,无报错信息
  3. 核对时间范围与保留期:
    • 检查EDS的事件保留设置,确保当前时间在保留期内
    • 查询时调整时间范围(注意控制台默认UTC时区,需匹配Lambda执行的实际时间)

三、可视化查看执行时间的替代方案

如果EDS Dashboard仍无数据,可使用更直接的方式:

  • CloudWatch Logs Insights:Lambda默认将执行日志写入CloudWatch Logs,用以下查询语句提取执行时间:
    fields @timestamp, @message, @requestId
    | filter @message like /REPORT/
    | parse @message /Duration: (?<duration>\d+\.\d+) ms/
    | sort @timestamp desc
    | limit 20
    
    该语句会筛选出每次执行的持续时间,按时间倒序展示
  • CloudWatch Dashboard:基于Lambda的Duration指标创建可视化图表,实时查看执行时间趋势

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 14:15:02