一、引言

AWS Lambda 作为无服务器计算的核心服务,默认将所有函数日志输出到 CloudWatch Logs。但日志分散在多个 Log Group 中,需通过 CloudWatch 实现:

✅ 实时错误追踪:秒级捕获函数执行异常

✅ 性能分析:统计内存 / 耗时 / 冷启动数据

✅ 日志聚合:跨函数关联请求链路(如 X-Ray 集成)

二、配置步骤

步骤 1:启用 Lambda 自动日志推送

登录 AWS 控制台 → 进入 Lambda 服务

选择目标函数 → "Configuration" 标签页

在 **"Permissions"** 中确认执行角色包含权限:

{

  "Effect": "Allow",

  "Action": "logs:CreateLogGroup",

  "Resource": "*"},{

  "Effect": "Allow",

  "Action": ["logs:CreateLogStream","logs:PutLogEvents"],

  "Resource": "arn:aws:logs:REGION:ACCOUNT_ID:*"}

步骤 2:在 CloudWatch 中定位日志

进入 CloudWatch 控制台 → 选择 "Logs Insights"

在查询框输入 Lambda 日志组路径:

# 标准路径格式/aws/lambda/YOUR_FUNCTION_NAME

使用查询语法快速过滤

步骤 3:设置关键指标告警

在 CloudWatch → "Alarms" 创建新告警

选择指标:Lambda > Errors 或 Duration

设置阈值(如:ErrorCount > 0 持续 1 分钟)

绑定 SNS 通知(邮件 / Slack / 微信机器人)

三、高阶监控技巧

结构化日志分析
在 Lambda 代码中使用 JSON 格式输出日志:

import jsonprint(json.dumps({"level": "ERROR", "request_id": context.aws_request_id}))

通过 CloudWatch 查询:| parse @message '"request_id": "*"' as request_id

冷启动追踪
筛选日志中的REPORT行:| filter @message like /REPORT/ | stats count() by bin(5m)

成本优化建议
监控Duration接近超时阈值的函数,调整内存配置降低费用(我们可提供 AWS 成本优化方案)。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐