将 CloudWatch Logs 日志与 Lambda 结合使用
AWS Lambda 将代表您自动监控 Lambda 函数以帮助您解决函数故障。只要您的函数的执行角色具有必要的权限,Lambda 就会捕获您的函数处理的所有请求的日志,并将其发送到 Amazon CloudWatch Logs。
您可以将录入语句插入到您的代码中,以帮助您验证代码是否按预期工作。Lambda 自动与 CloudWatch Logs 集成,并将您的代码的所有日志发送到与 Lambda 函数关联的 CloudWatch Logs 组。
默认情况下,Lambda 向名为 /aws/lambda/<function name>
的日志组发送日志。如果您希望函数向另一个群组发送日志,则可以使用 Lambda 控制台、AWS Command Line Interface(AWS CLI)或 Lambda API 进行配置。请参阅配置 CloudWatch 日志组,了解更多信息。
您可以借助 Lambda 控制台、CloudWatch 控制台、AWS Command Line Interface (AWS CLI) 或 CloudWatch API 查看 Lambda 函数的日志。
注意
函数调用后,日志可能需要 5 到 10 分钟才能显示。
所需的 IAM 权限
执行角色必须具备以下权限,才能将日志上传 CloudWatch Logs:
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
要了解更多信息,请参阅《Amazon CloudWatch User Guide》中的 Using identity-based policies (IAM policies) for CloudWatch Logs。
您可以使用 Lambda 提供的 AWSLambdaBasicExecutionRole
AWS 托管式策略添加这些 CloudWatch Logs 权限。要将此策略添加到您的角色,请运行以下命令:
aws iam attach-role-policy --role-name your-role
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
有关更多信息,请参阅 在执行角色中使用 AWS 托管策略。
定价
使用 Lambda 日志没有额外的费用;不过,会收取标准 CloudWatch Logs 费用。有关更多信息,请参阅 CloudWatch 定价