访问 AWS Lambda 的 Amazon CloudWatch 日志
Posted cloudrivers
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问 AWS Lambda 的 Amazon CloudWatch 日志相关的知识,希望对你有一定的参考价值。
AWS Lambda 会自动替您监控 Lambda 函数,并通过 Amazon CloudWatch 报告各项指标。为帮助您诊断函数中的问题,Lambda 会记录您的函数处理的所有请求,并通过 Amazon CloudWatch Logs 自动存储您的代码生成的日志。
您可以在代码中插入日志记录语句来帮助验证代码是否按预期运行。Lambda 自动与 CloudWatch Logs 集成,并将您的代码的所有日志推送到与 Lambda 函数关联的 CloudWatch Logs 组(即名为 /aws/lambda/<函数名>
的组)。有关日志组和通过 CloudWatch 控制台访问它们的更多信息,请参阅 Amazon CloudWatch 用户指南 中的监控系统、应用程序和自定义日志文件。
您可以借助 Lambda 控制台、CloudWatch 控制台、AWS CLI 或 CloudWatch API 查看 Lambda 日志。下面的流程介绍如何使用 Lambda 控制台查看日志。
注意
使用 Lambda 日志没有额外的费用;不过,会收取标准 CloudWatch Logs 费用。有关更多信息,请参阅 CloudWatch 定价。
使用 Lambda 控制台查看日志
-
打开 Lambda 控制台。
-
打开 Lambda 控制台 函数页面。
-
选择 Monitoring。
所示为 Lambda 函数指标的图形化表示。
-
选择查看 CloudWatch 中的日志。
Lambda 使用您的函数的权限将日志上传到 CloudWatch Logs。如果您未在控制台中看到日志,请检查您的执行角色权限。
AWS Lambda 执行角色
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 存储库中找到。
以上是关于访问 AWS Lambda 的 Amazon CloudWatch 日志的主要内容,如果未能解决你的问题,请参考以下文章
AWS Amazon Connect Lambda输入请求架构
在 AWS Cognito 和 Lambda 中获取 Facebook 访问令牌
Amazon Kinesis 和 AWS Lambda 重试