查看 CloudFront 和边缘函数指标
您可以在 CloudFront 控制台中查看有关您的 CloudFront 分配和边缘函数
查看默认的 CloudFront 分配指标
所有 CloudFront 分配都包含以下默认指标,无需额外费用:
- 请求
-
针对所有 HTTP 方法以及 HTTP 和 HTTPS 请求,CloudFront 收到的查看器请求总数。
- 已下载字节
-
查看器针对
GET
、HEAD
和OPTIONS
请求下载的字节总数。 - 已上传字节
-
查看器通过 CloudFront 使用
POST
和PUT
请求上传到您的源的字节总数。 - 4xx 错误率
-
响应的 HTTP 状态代码为
4xx
的所有查看器请求所占的百分比。 - 5xx 错误率
-
响应的 HTTP 状态代码为
5xx
的所有查看器请求所占的百分比。 - 总错误率
-
响应的 HTTP 状态代码为
4xx
或5xx
的所有查看器请求所占的百分比。
在 CloudFront 控制台的监控页面
您可以通过执行以下操作来自定义图表:
-
要更改图表中所显示信息的时间范围,请选择 1h(1 小时)、3h(3 小时)或其他范围,或指定自定义范围。
-
要更改 CloudFront 更新图表中信息的频率,请选择刷新图标旁边的下箭头,然后选择一个刷新间隔。默认刷新频率为 1 分钟,不过您可以选择 10 秒、2 分钟或其他选项。
要在 CloudWatch 控制台中查看 CloudFront 图形,请选择添加到控制面板。
启用其他 CloudFront 分配指标
除了默认指标外,您还可以启用其他指标,但需要支付额外费用。有关成本的更多信息,请参阅估算其他 CloudFront 指标的成本。
必须为每个分配单独启用这些额外指标:
- 缓存命中率
-
由 CloudFront 从其缓存提供内容的所有可缓存请求的百分比。HTTP
POST
和PUT
请求及错误不视为可缓存请求。 - 来源延迟
-
对于从来源提供内容(而非从 CloudFront 缓存提供内容)的请求,从 CloudFront 接收请求,到开始向网络(而非查看器)提供响应为止所花费的总时间。这也称为首字节延迟或 time-to-first-byte。
- 按状态代码列出的错误率
-
响应的 HTTP 状态代码为
4xx
或5xx
范围中的特定代码的所有查看器请求所占的百分比。此指标适用于以下所有错误代码:401
、403
、404
、502
、503
和504
。
启用其他指标
您可以在 CloudFront 控制台中、使用 Amazon CloudFormation、Amazon Command Line Interface (Amazon CLI) 或 CloudFront API 启用其他指标。
估算其他 CloudFront 指标的成本
当您为某个分配启用其他指标时,CloudFront 会向美国东部(弗吉尼亚北部)区域的 CloudWatch 发送最多 8 个指标。CloudWatch 为每个指标收取较低的固定费率。每个月对每个指标仅收取一次该费率(每个分配最多 8 个指标)。这是固定费率,因此无论 CloudFront 分配接收或发送的请求或响应数量如何,您的成本都保持不变。有关每个指标的费率,请参阅 Amazon CloudWatch 定价页面
查看默认的 Lambda@Edge 函数指标
可以使用 CloudWatch 指标实时监控与 Lambda@Edge 函数相关的问题。使用这些指标无需额外付费。
当你将 Lambda@Edge 函数附加到 CloudFront 分配中的缓存行为时,Lambda 开始自动向 CloudWatch 发送指标。指标适用于所有 Lambda 区域,但要在 CloudWatch 控制台中查看指标或从 CloudWatch API 获取指标数据,您必须使用美国东部(弗吉尼亚北部)区域 (us-east-1
)。指标组名称的格式为:AWS/CloudFront/
,其中 distribution-ID
distribution-ID
是与 Lambda@Edge 函数关联的 CloudFront 分配的 ID。有关 Amazon CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南。
在 CloudFront 控制台的监控页面
-
5xx
Lambda@Edge 的 错误率 -
Lambda 执行错误
-
Lambda 无效响应
-
Lambda 节流
图表包含调用数、错误、限制等信息。在每个图表上,总计值按 1 分钟的粒度显示,按 Amazon 区域分组。
如果您看到错误出现峰值需要调查,您可以选择一个函数,然后按 Amazon 区域查看日志,直至您确定哪个函数在哪个 Amazon 区域中导致了问题。有关排查 Lambda@Edge 错误的更多信息,请参阅:
您可以通过执行以下操作来自定义图表:
-
要更改图表中所显示信息的时间范围,请选择 1h(1 小时)、3h(3 小时)或其他范围,或指定自定义范围。
-
要更改 CloudFront 更新图表中信息的频率,请选择刷新图标旁边的下箭头,然后选择一个刷新间隔。默认刷新频率为 1 分钟,不过您可以选择 10 秒、2 分钟或其他选项。
要在 CloudWatch 控制台中查看图表,请选择添加到控制面板。您必须使用美国东部(弗吉尼亚北部)区域 (us-east-1) 在 CloudWatch 控制台中查看图表。
查看默认的 CloudFront Functions 指标
CloudFront Functions 将操作指标发送到 Amazon CloudWatch,以便您可以监控自己的函数。查看这些指标可帮助您解决、跟踪和调试问题。CloudFront Functions 向 CloudWatch 发布以下指标:
-
调用数 (
FunctionInvocations
) – 给定时间内开始(调用)函数的次数。 -
验证错误数 (
FunctionValidationErrors
) – 函数在给定时间段内产生的验证错误数。当函数成功运行但返回无效数据(无效的事件对象)时,会发生验证错误。 -
执行错误数 (
FunctionExecutionErrors
) – 给定时间内发生的执行错误数。当函数无法成功完成时,会发生执行错误。 -
计算利用率 (
FunctionComputeUtilization
) – 函数运行所花费的时间占最大允许时间的百分比。例如,值为 35 表示函数在最大允许时间的 35% 内完成。该指标是介于 0 到 100 之间的数字。 -
限制 (
FunctionThrottles
) – 在给定时间段内函数受到限制的次数。下列原因可能导致函数受到限制:-
该函数持续超过执行所允许的最长时间
-
该函数导致编译错误
-
每秒的请求数异常高
-
要在 CloudFront 控制台中查看这些指标,请转至监控页面
所有这些指标都在 CloudFront 命名空间中发布到美国东部(弗吉尼亚北部)区域 (us-east-1
) 的 CloudWatch。您还可以在 CloudWatch 控制台中查看这些指标。在 CloudWatch 控制台中,您可以查看每个函数或每个分配中每个函数的指标。
您还可以使用 CloudWatch 根据这些指标设置警报。例如,您可以根据执行时间指标设置警报,该指标表示函数运行所花费的可用时间百分比。当执行时间在一定时间内达到特定值时(例如,连续 15 分钟内超过 70% 的可用时间)时,警报将触发。您可以在创建警报时指定警报的值及其时间单位。
CloudFront Functions 仅为处理生产请求和响应而运行的 LIVE
阶段中的函数向 CloudWatch 发送指标。测试函数时,CloudFront 不会向 CloudWatch 发送任何指标。测试输出包含有关错误、计算利用率和函数日志(console.log()
语句)的信息,但这些信息不会发送到 CloudWatch。
有关如何使用 CloudWatch API 获取这些指标的信息,请参阅使用 CloudWatch API 获取指标。