本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
边缘函数日志
你可以使用 Amazon L CloudWatch ogs 获取边缘函数的日志,包括 Lambda @Edge 和 CloudFront Functions。使用 CloudWatch控制台或日志 API 访问 CloudWatch 日志。
重要
我们建议您使用日志来了解内容请求的性质,而不是对所有请求进行全面统计。 CloudFront 尽力提供边缘功能日志。特定请求的日志条目可能会在实际处理该请求之后很久才进行传输,而且极少数情况下,可能根本不会传输日志条目。当边缘函数日志中省略了日志条目时,边缘函数日志中的条目数将与 Amazon 账单和使用率报告中出现的使用率不匹配。
Lambda@Edge 日志
Lambda @Edge 会自动将函数日志发送到 CloudWatch 日志,在函数的运行Amazon Web Services 区域位置创建日志流。日志组名称的格式为 /aws/lambda/
,其中 us-east-1
.function-name
function-name
是您在创建函数时为函数指定的名称,us-east-1
是运行函数的 Amazon Web Services 区域的区域代码。
注意
Lambda@Edge 会基于请求量和日志大小来限制日志。
您必须正确查看 CloudWatch 日志文件Amazon Web Services 区域才能查看您的 Lambda @Edge 函数日志文件。要查看运行您的 Lambda @Edge 函数的区域,请在控制台中查看该函数的指标图表。 CloudFront 指标针对各个 Amazon Web Services 区域显示。在同一页上,您可以选择一个区域,然后查看该区域的日志文件以调查问题。
要详细了解如何在 Lambda @Edge 函数中使用 CloudWatch 日志,请参阅以下内容:
-
有关在 CloudFront 控制台的 “监控” 部分中查看图表的更多信息,请参阅使用 Amazon 监控 CloudFront 指标 CloudWatch。
-
有关向 Logs 发送数据所需的权限的信息 CloudWatch ,请参阅设置 Lambda@Edge 的 IAM 权限和角色。
-
有关向 Lambda@Edge 函数添加日志记录的信息,请参阅 Amazon Lambda 开发人员指南 中的 Node.js 中的 Amazon Lambda 函数日志记录或 Python 中的 Amazon Lambda 函数日志记录。
-
有关 CloudWatch 日志配额(以前称为限制)的信息,请参阅 Amazon Logs 用户指南中的CloudWatch CloudWatch 日志配额。
CloudFront 函数日志
如果 CloudFront 函数的代码包含console.log()
语句, CloudFront Functions 会自动将这些日志行发送到 Lo CloudWatch gs。如果没有console.log()
语句,则不会向 L CloudWatch ogs 发送任何内容。
CloudFront 函数总是在美国东部(弗吉尼亚北部)区域 (us-east-1
) 中创建日志流,无论该函数在哪个边缘位置运行。日志组名称的格式为 /aws/cloudfront/function/
,其中 FunctionName
是您在创建函数时为函数指定的名称。日志流名称的格式为 FunctionName
YYYY/M/D/
。UUID
以下显示了发送到 Log CloudWatch s 的日志消息示例。每行都以一个唯一标识 CloudFront 请求的 ID 开头。消息以包含 CloudFront 分发 ID 的START
行开头,并以一END
行结尾。START
与 END
行之间是 console.log()
语句在函数中生成的日志行。
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
注意
CloudFront 函数 CloudWatch 仅向LIVE
阶段中为响应生产请求和响应而运行的函数发送日志。测试函数时, CloudFront 不会向发送任何日志 CloudWatch。测试输出包含有关错误、计算利用率和函数日志(console.log()
语句)的信息,但这些信息不会发送到 CloudWatch。
CloudFront Functi Amazon Identity and Access Management ons 使用 (IAM) 服务相关角色将日志发送到您账户中的 CloudWatch Logs。服务相关角色是一种与 Amazon 服务直接关联的 IAM 角色。服务相关角色由服务预定义,包括该服务代表您调用其他Amazon服务所需的所有权限。 CloudFront 函数使用名AWSServiceRoleForCloudFrontLogger为的服务相关角色。有关此角色的更多信息,请参阅Lambda@Edge 的服务相关角色(Lambda@Edge 使用同一个服务相关角色)。
当函数因验证错误或执行错误而失败时,信息将记录在 CloudFront标准日志和实时日志中。有关错误的信息记录在 x-edge-result-type
、x-edge-response-result-type
和 x-edge-detailed-result-type
字段中。