边缘函数日志 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

边缘函数日志

你可以使用 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 函数日志

如果 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行结尾。STARTEND 行之间是 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-typex-edge-response-result-typex-edge-detailed-result-type 字段中。