- AWS Lambda 教程
- AWS Lambda - 首页
- AWS Lambda - 概述
- AWS Lambda - 环境设置
- AWS Lambda - 简介
- 构建 Lambda 函数
- Node.js 函数
- Java 函数
- Python 函数
- Go 函数
- C# 函数
- 配置 Lambda 函数
- 使用 AWS 控制台创建和部署
- 使用 AWS CLI 创建和部署
- 使用 Serverless Framework 创建和部署
- AWS 执行和调用 Lambda 函数
- 删除 Lambda 函数
- 使用 Amazon API Gateway
- Lambda 函数与 Amazon S3
- Lambda 函数与 Amazon DynamoDB
- Lambda 函数与计划事件
- Lambda 函数与 Amazon SNS
- Lambda 函数与 CloudTrail
- Lambda 函数与 Amazon Kinesis
- Lambda 函数与自定义用户应用程序
- AWS Lambda@Edge 与 CloudFront
- 使用 CloudWatch 进行监控和故障排除
- AWS Lambda - 附加示例
- AWS Lambda 有用资源
- AWS Lambda - 快速指南
- AWS Lambda - 有用资源
- AWS Lambda - 讨论
使用 CloudWatch 进行监控和故障排除
在 AWS Lambda 中创建的函数由 Amazon CloudWatch 监控。它有助于记录触发 Lambda 函数时对其发出的所有请求。
假设以下代码已上传到 AWS Lambda,函数名称为 **lambda and cloudwatch**。
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); callback(null, 'Hello from Lambda'); };
测试或触发函数时,您应该在 CloudWatch 中看到一个条目。为此,请转到 AWS 服务并单击 CloudWatch。
从左侧选择日志。
单击 **日志** 后,它包含您帐户中创建的 AWS Lambda 函数的 **日志组**。选择任何 AWS Lambda 函数并检查详细信息。在这里,我们指的是名为 **lambdaandcloudwatch** 的 Lambda 函数。此处显示添加到 Lambda 函数的日志,如下所示:
现在,让我们向 Lambda 函数添加 S3 触发器,并查看 CloudWatch 中的日志详细信息,如下所示:
让我们更新 AWS Lambda 代码以显示上传的文件和存储桶名称,如下面的代码所示:
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); const bucket = event.Records[0].s3.bucket.name; const filename = event.Records[0].s3.object.key; const message = `File is uploaded in - ${bucket} -> ${filename}`; console.log(message); callback(null, 'Hello from Lambda'); };
现在,在 **s3storetestlambdaEventbucket** 中添加文件,如下所示:
上传文件后,AWS Lambda 函数将被触发,并且来自 Lambda 代码的控制台日志消息将显示在 CloudWatch 中,如下所示:
如果出现任何错误,CloudWatch 将显示错误详细信息,如下所示:
请注意,我们在 AWS Lambda 代码中错误地引用了存储桶名称,如下所示:
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); const bucket = event.Records[0].bucket.name; const filename = event.Records[0].s3.object.key; const message = `File is uploaded in - ${bucket} -> ${filename}`; console.log(message); callback(null, 'Hello from Lambda'); };
事件中的存储桶名称引用错误。因此,我们应该看到 CloudWatch 中显示的错误,如下所示:
CloudWatch 指标
可以在指标中查看 Lambda 函数执行的详细信息。单击左侧显示的 **指标**。
lambda 函数 **lambdaandcloudwatch** 的图形详细信息如下所示:
它提供了 Lambda 函数执行的持续时间、调用次数以及 Lambda 函数的错误等详细信息。