我的 AWS Lambda 函数遇到了间歇性错误,我想使用 Amazon CloudWatch Logs 确定我的函数是否超时。
当 Lambda 函数调用超时时,在失败调用的 CloudWatch 日志中会显示**“Status: timeout”**错误消息,而不是 Error 消息。当您查看 Lambda 函数的 CloudWatch 日志组时,搜索“Task timed out”。如果您仅在日志中搜索 Error 消息,则搜索仅返回与代码相关的运行时错误,不返回调用超时错误。有关详细信息,请参阅 Monitoring AWS Lambda errors using Amazon CloudWatch(使用 Amazon CloudWatch 监控 AWS Lambda 错误)。
使用关联的超时调用的请求 ID 来检索每个调用超时的完整日志。
在开始之前,请确保您的 Lambda 函数具有将日志上传到 CloudWatch Logs 所需的 AWS Identity and Access Management (IAM) 权限。
完成以下步骤:
fields @timestamp, @requestId, @message, @logStream| filter @message like "Status: timeout" | sort @timestamp desc | limit 100
响应会在超时调用的 Task timed out(任务超时)输出中返回请求 ID 列表。
有关详细信息,请参阅 Analyzing log data with CloudWatch Logs Insights(使用 CloudWatch Logs Insights 分析日志数据)。
注意: 对于大型日志组,请在 Logs Insights 查询中添加 datetime 函数以限制搜索范围。有关详细信息,请参阅 CloudWatch Logs Insights language query syntax(CloudWatch Logs Insights 语言查询语法)。
注意: CloudWatch Logs Insights 查询会根据您查询的数据量产生费用。有关详细信息,请参阅 Amazon CloudWatch 定价。
然后,使用超时调用的请求 ID 检索每个调用超时的完整日志。您可以创建查询,在所有日志中搜索特定请求 ID。有关详细信息,请参阅解析日志和结构化日志记录。
要对您发现的任何超时错误进行故障排除,请参阅如何对 Lambda 函数调用超时错误进行故障排除?
This article was reviewed and updated on 2026-03-30.
AWS Official
已回复 1 个月前
rePost Polyglot
已提问 3 年前
已提问 4 年前
Tim
已发布 2 年前