AWS Lambda 会自动替您监控 Lambda 函数,并经过 Amazon CloudWatch 报告各项指标。为帮助您诊断函数中的问题,Lambda 会记录您的函数处理的全部请求,并经过 Amazon CloudWatch Logs 自动存储您的代码生成的日志。html
您能够在代码中插入日志记录语句来帮助验证代码是否按预期运行。Lambda 自动与 CloudWatch Logs 集成,并将您的代码的全部日志推送到与 Lambda 函数关联的 CloudWatch Logs 组(即名为 /aws/lambda/<函数名>
的组)。有关日志组和经过 CloudWatch 控制台访问它们的更多信息,请参阅 Amazon CloudWatch 用户指南 中的监控系统、应用程序和自定义日志文件。git
您能够借助 Lambda 控制台、CloudWatch 控制台、AWS CLI 或 CloudWatch API 查看 Lambda 日志。下面的流程介绍如何使用 Lambda 控制台查看日志。github
注意网络
使用 Lambda 日志没有额外的费用;不过,会收取标准 CloudWatch Logs 费用。有关更多信息,请参阅 CloudWatch 订价。app
使用 Lambda 控制台查看日志ide
打开 Lambda 控制台。函数
打开 Lambda 控制台 函数页面。工具
选择 Monitoring。开发工具
所示为 Lambda 函数指标的图形化表示。ui
选择查看 CloudWatch 中的日志。
Lambda 使用您的函数的权限将日志上传到 CloudWatch Logs。若是您未在控制台中看到日志,请检查您的执行角色权限。
AWS Lambda 函数的执行角色授予该函数访问 AWS 服务和资源的权限。您在建立函数时提供该角色,当您的函数被调用时,Lambda 代入该角色。您能够建立一个有权将日志发送到 Amazon CloudWatch 并将跟踪数据上传到 AWS X-Ray 的开发执行角色。
建立执行角色
打开 IAM 控制台中的“角色”页面。
选择 Create role (建立角色)。
建立具备如下属性的角色:
可信任的实体 – AWS Lambda。
权限 – AWSLambdaBasicExecutionRole、AWSXrayWriteOnlyAccess
角色名称 – lambda-role
能够随时在函数的执行角色中添加或删除权限,或配置您的函数以使用不一样的角色。为您的函数使用 AWS 开发工具包调用的任何服务以及为 Lambda 用来启用可选功能的服务添加权限。
如下托管策略提供使用 Lambda 功能所需的权限:
AWSLambdaBasicExecutionRole – 将日志上传到 CloudWatch 的权限。
AWSLambdaKinesisExecutionRole – 读取来自 Amazon Kinesis 数据流或使用者的事件的权限。
AWSLambdaDynamoDBExecutionRole – 读取 Amazon DynamoDB 流记录的权限。
AWSLambdaSQSQueueExecutionRole – 读取 Amazon Simple Queue Service (Amazon SQS) 队列消息的权限。
AWSLambdaVPCAccessExecutionRole – 管理弹性网络接口以将您的函数链接到 VPC 的权限。
AWSXrayWriteOnlyAccess – 将跟踪数据上传到 X-Ray 的权限。
当您使用事件源映射调用您的函数时,Lambda 将使用执行角色读取事件数据。例如,Amazon Kinesis 的事件源映射从数据流读取事件并将事件成批发送到您的函数。能够将事件源映射用于如下服务:
Lambda 从其读取事件的服务
除了托管策略,Lambda 控制台还为建立包含与额外用例相关的权限的自定义策略提供模板。当您建立函数时,能够选择利用来自一个或多个模板的权限建立新的执行角色。当您从蓝图建立函数,或者配置须要访问其余服务的选项时,也会自动应用这些模板。示例模板可从本指南的 GitHub 存储库中找到。