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

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

查看 CloudFront 和边缘函数指标

您可以在CloudFront 控制台中查看有关您的 CloudFront 分布和边缘函数的运营指标。要查看这些指标,请参阅 CloudFront 控制台中的 “监控” 页面。要查看有关特定 CloudFront 分布或边缘函数的活动的图表,请选择一个图表,然后选择查看分布指标查看指标

查看默认 CloudFront 分发指标

所有 CloudFront 分配均包含以下默认指标,无需支付额外费用:

请求

针对所有 HTTP 方法以及 HTTP 和 HTTPS 请求接收的查看者请求总数。 CloudFront

已下载字节

查看器针对 GETHEADOPTIONS 请求下载的字节总数。

已上传字节

查看器通过 CloudFront 使用 POSTPUT 请求上传到您的源的字节总数。

4xx 错误率

响应的 HTTP 状态代码为 4xx 的所有查看器请求所占的百分比。

5xx 错误率

响应的 HTTP 状态代码为 5xx 的所有查看器请求所占的百分比。

总错误率

响应的 HTTP 状态代码为 4xx5xx 的所有查看器请求所占的百分比。

这些指标在 CloudFront控制台的 “监控” 页面上以图表形式显示每个 CloudFront 分发。在每个图表上,总计值按 1 分钟的粒度显示。除了查看图表外,您还可以将指标报告下载为 CSV 文件

您可以通过执行以下操作来自定义图表:

  • 要更改图表中所显示信息的时间范围,请选择 1h(1 小时)、3h(3 小时)或其他范围,或指定自定义范围。

  • 要更改图表中信息的 CloudFront 更新频率,请选择刷新图标旁边的向下箭头,然后选择刷新率。默认刷新频率为 1 分钟,不过您可以选择 10 秒、2 分钟或其他选项。

要在 CloudWatch 控制台中查看 CloudFront 图表,请选择 “添加到控制面板”。

开启其他 CloudFront分发指标

除了默认指标外,您还可以启用其他指标,但需要支付额外费用。有关成本的更多信息,请参阅估算其他 CloudFront 指标的成本

必须为每个分配单独启用这些额外指标:

缓存命中率

从其缓存中 CloudFront 提供内容的所有可缓存请求的百分比。HTTP POSTPUT 请求及错误不视为可缓存请求。

来源延迟

从 CloudFront 收到请求到开始向网络(不是查看者)提供响应所花费的总时间,对于从源站而不是 CloudFront 缓存中处理的请求。这也称为首字节延迟,或time-to-first-byte

按状态代码列出的错误率

响应的 HTTP 状态代码为 4xx5xx 范围中的特定代码的所有查看器请求所占的百分比。此指标适用于以下所有错误代码:401403404502503504

启用其他指标

您可以在 CloudFront 控制台中使用Amazon CloudFormation、使用 Amazon Command Line Interface (Amazon CLI) 或 CloudFront API 开启其他指标。

Console
启用其他指标(控制台)
  1. 登录Amazon Web Services Management Console并在 CloudFront 控制台中打开 “监控” 页面

  2. 选择要为其启用其他指标的分配,然后选择查看分配指标

  3. 选择 Manage additional metrics(管理其他指标)。

  4. Manage additional metrics(管理其他指标)窗口中,打开 Enabled(启用)。启用其他指标后,您可以关闭 Manage additional metrics(管理其他指标)窗口。

启用其他指标后,它们将显示在图表中。在每个图表上,总计值按 1 分钟的粒度显示。除了查看图表外,您还可以将指标报告下载为 CSV 文件

您可以通过执行以下操作来自定义图表:

  • 要更改图表中所显示信息的时间范围,请选择 1h(1 小时)、3h(3 小时)或其他范围,或指定自定义范围。

  • 要更改图表中信息的 CloudFront 更新频率,请选择刷新图标旁边的向下箭头,然后选择刷新率。默认刷新频率为 1 分钟,不过您可以选择 10 秒、2 分钟或其他选项。

要在 CloudWatch 控制台中查看 CloudFront 图表,请选择 “添加到控制面板”。

Amazon CloudFormation

要使用 Amazon CloudFormation 打开其他指标,请使用 AWS::CloudFront::MonitoringSubscription 资源类型。以下示例以 YAML 格式显示 Amazon CloudFormation 模板语法,用于启用其他指标。

Type: AWS::CloudFront::MonitoringSubscription Properties: DistributionId: EDFDVBD6EXAMPLE MonitoringSubscription: RealtimeMetricsSubscriptionConfig: RealtimeMetricsSubscriptionStatus: Enabled
CLI

要使用 Amazon Command Line Interface (Amazon CLI) 管理其他指标,请使用下列命令之一:

为分配启用其他指标 (CLI)
  • 使用 create-monitoring-subscription 命令,如以下示例所示。将 EDFDVBD6EXAMPLE 替换为要为其启用其他指标的分配的 ID。

    aws cloudfront create-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE --monitoring-subscription RealtimeMetricsSubscriptionConfig={RealtimeMetricsSubscriptionStatus=Enabled}
查看是否为分配启用了其他指标 (CLI)
  • 使用 get-monitoring-subscription 命令,如以下示例所示。将 EDFDVBD6EXAMPLE 替换为您正在检查的分配的 ID。

    aws cloudfront get-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
为分配禁用其他指标 (CLI)
  • 使用 delete-monitoring-subscription 命令,如以下示例所示。将 EDFDVBD6EXAMPLE 替换为要为其禁用其他指标的分配的 ID。

    aws cloudfront delete-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
API

要使用 CloudFront API 管理其他指标,请使用以下 API 操作之一。

有关这些 API 调用的更多信息,请参阅 Amazon 开发工具包或其他 API 客户端的 API 参考文档。

估算其他 CloudFront 指标的成本

当您为分配开启其他指标时, CloudFront 会向美国东部(弗吉尼亚北部)区域发送最多 8 个指标。 CloudWatch CloudWatch 对每个指标收取较低的固定费率。每个月对每个指标仅收取一次该费率(每个分配最多 8 个指标)。这是固定费率,因此无论 CloudFront 分配接收或发送的请求或响应数量如何,您的费用都保持不变。有关每项指标的费率,请参阅 Amazon CloudWatch 定价页面和定CloudWatch 价计算器。当您使用 API 检索指标时,会收取额外的 CloudWatch API 费用。

查看默认的 Lambda@Edge 函数指标

您可以使用 CloudWatch 指标来实时监控 Lambda @Edge 函数存在的问题。使用这些指标无需额外付费。

当你将 Lambda @Edge 函数附加到 CloudFront 分配中的缓存行为时,Lambda 开始自动向发送指标。 CloudWatch 指标适用于所有 Lambda 区域,但要在 CloudWatch 控制台中查看指标或从 CloudWatch API 获取指标数据,您必须使用美国东部(弗吉尼亚北部)区域 (us-east-1)。指标组名称的格式为:AWS/CloudFront/distribution-ID,其中 Di stribution- ID 是 Lambda @Edge 函数关联的 CloudFront 分布的 ID。有关 CloudWatch指标的更多信息,请参阅 Amazon CloudWatch 用户指南

控制台的 “监控” 页面上每个 Lambda @Edge 函数的以下默认指标以图表形式显示: CloudFront

  • 5xxLambda@Edge 的 错误率

  • Lambda 执行错误

  • Lambda 无效响应

  • Lambda 节流

图表包含调用数、错误、限制等信息。在每个图表上,总计值按 1 分钟的粒度显示,按 Amazon 区域分组。

如果您看到错误出现峰值需要调查,您可以选择一个函数,然后按 Amazon 区域查看日志,直至您确定哪个函数在哪个 Amazon 区域中导致了问题。有关排查 Lambda@Edge 错误的更多信息,请参阅:

您可以通过执行以下操作来自定义图表:

  • 要更改图表中所显示信息的时间范围,请选择 1h(1 小时)、3h(3 小时)或其他范围,或指定自定义范围。

  • 要更改图表中信息的 CloudFront 更新频率,请选择刷新图标旁边的向下箭头,然后选择刷新率。默认刷新频率为 1 分钟,不过您可以选择 10 秒、2 分钟或其他选项。

要在控制台中查看图表,请选择 “添加到 CloudWatch 控制面板”。您必须使用美国东部(弗吉尼亚北部)区域 (us-east-1) 才能在控制台中查看图表。 CloudWatch

查看默认 CloudFront 函数指标

CloudFront Functions 会向 Amazon 发送运营指标, CloudWatch 以便您可以监控自己的功能。查看这些指标可帮助您解决、跟踪和调试问题。CloudFront 函数将以下指标发布到 CloudWatch:

  • 调用数 (FunctionInvocations) – 给定时间内开始(调用)函数的次数。

  • 验证错误数 (FunctionValidationErrors) – 函数在给定时间段内产生的验证错误数。当函数成功运行但返回无效数据(无效的事件对象)时,会发生验证错误。

  • 执行错误数 (FunctionExecutionErrors) – 给定时间内发生的执行错误数。当函数无法成功完成时,会发生执行错误。

  • 计算利用率 (FunctionComputeUtilization) – 函数运行所花费的时间占最大允许时间的百分比。例如,值为 35 表示函数在最大允许时间的 35% 内完成。该指标是介于 0 到 100 之间的数字。

  • 限制 (FunctionThrottles) – 在给定时间段内函数受到限制的次数。下列原因可能导致函数受到限制:

    • 该函数持续超过执行所允许的最长时间

    • 该函数导致编译错误

    • 每秒的请求数异常高

要在 CloudFront 控制台中查看这些指标,请转到监控页面。要查看特定函数的图形,请选择 Functions(函数),选择函数,然后选择 View function metrics(查看函数指标)。

所有这些指标都发布到 CloudWatch 美国东部(弗吉尼亚北部)区域 (us-east-1) 的 CloudFront 命名空间中。您也可以在CloudWatch 控制台中查看这些指标。在 CloudWatch 控制台中,您可以查看每个函数或每个分配的每个函数的指标。

您也可以使用 CloudWatch 根据这些指标设置警报。例如,您可以根据执行时间 (FunctionComputeUilization) 指标设置警报,该指标表示函数运行所花费的可用时间百分比。当执行时间在一定时间内达到特定值时(例如,连续 15 分钟内超过 70% 的可用时间)时,警报将触发。您可以在创建警报时指定警报的值及其时间单位。

注意

CloudFront 函数 CloudWatch 仅向LIVE阶段中为响应生产请求和响应而运行的函数发送指标。测试函数时, CloudFront 不会向发送任何指标CloudWatch。测试输出包含有关错误、计算利用率和函数日志(console.log()语句)的信息,但这些信息不会发送到 CloudWatch。

有关如何使用 CloudWatch API 获取这些指标的信息,请参阅使用 CloudWatch API 获取指标