Amazon CloudFront
开发人员指南 (API 版本 2016-09-29)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

监控 CloudFront 和设置警报

Amazon CloudFront 与 CloudWatch 集成,并为每个分配自动发布 10 个运行指标,显示在 AWS 管理控制台的 CloudFront 控制台的一组图表中,或者可使用 CloudFront API 或 CLI 来访问。这些指标不会计入 CloudWatch 限制中。

在控制台中,您可以通过查看指标和使用其他功能(例如,访问区域日志文件)来监控您的 CloudFront 分配及与其关联的 Lambda 函数并进行问题排查,来帮助您跟踪和调试问题。

包含以下指标,无需额外费用:

  • 请求

  • 已下载字节

  • 已上传字节

  • 4xx 错误率

  • 5xx 错误率

  • Lambda@Edge 的 5xx 错误率

  • 总错误率

  • Lambda 执行错误

  • Lambda 无效响应

  • Lambda 限制

控制台中的 Monitoring (监控) 页面包括以下内容:

  • 您的所有 CloudFront 分配的列表以及与您分配关联的所有 Lambda@Edge 函数的列表。您可以选择一个分配或函数,然后查看与其关联的指标。

  • 分配指标的视图,其中包含汇总的 Lambda@Edge 函数 HTTP 5xx 错误,按照分配分组,帮助您查看是您的源还是 Lambda@Edge 函数导致了 CloudFront HTTP 5xx 错误。

  • 一组 Lambda@Edge 指标图形,按函数执行错误、无效函数响应错误和限制显示指标的区域细分。

要查看有关特定 CloudFront 分配或 Lambda 函数的活动的图表,请选择一项,然后选择查看指标。

您还可在 CloudFront 控制台中根据这些指标设置警报,或者在 CloudWatch 控制台中使用标准 CloudWatch 比率设置警报。例如,您可以在 CloudWatch 控制台中设置基于 5xxErrorRate 的警报。此指标表示 HTTP 状态代码为 5xx 的所有请求的百分比。

主题

CloudFront 分配指标

每个 CloudFront 分配的指标包括在 Overview (概览) 选项卡上的图表中。在每个图表上,按照 1 分钟的粒度显示总计,您可以指定时间范围和刷新频率。您还可以选择以 CSV 格式下载报告(请参阅 将数据下载为 CSV 格式的文件)。


				控制台上“Monitoring (监控)”页面上 CloudFront 分配的图表

查看分配的指标

要查看有关分配的详细图表,例如错误率指标,请按照以下步骤操作。

查看分配的指标

  1. 登录 AWS 管理控制台,通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/

  2. 在导航窗格中,单击 Monitoring (监控),然后选择分配。

  3. 选择 View distribution metrics (查看分配指标)

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

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

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

要在 CloudWatch 控制台中查看 CloudFront 图表,请选择 Add to dashboard (添加到控制面板)

查看分配的指标

分配的指标显示在两个选项卡上:

Overview (概览) 选项卡上,图表包括的指标有请求总数、数据传输以及 HTTP 错误率,后者以相对于请求总数的百分比显示。

Lambda@Edge errors (Lambda@Edge) 选项卡上,控制台显示 Lambda 函数执行错误、无效函数响应以及分配的 AWS 区域限制图表。图表上是 Lambda@Edge 函数为每个类型返回的错误数,按照 AWS 区域分组。这为您针对错误来源进行问题排查提供了一个起点,以便您解决问题。

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

有关如何在排查 HTTP 错误时使用此信息的示例,请参阅调试 AWS 上内容交付的四个步骤

Lambda@Edge 函数指标

AWS 管理控制台中的 Monitoring (监控) 页面显示与您账户中的分配关联的所有 Lambda@Edge 函数列表。您可以选择特定函数,然后查看有关该函数活动的多个图表。对于每个图表,您可以指定时间范围和刷新频率。


				在控制台的“Monitoring (监控)”页面上选择 Lambda@Edge 函数

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


				与分配关联的特定 Lambda@Edge 函数的相关图表

查看函数的指标

要查看有关某个函数的详细图表,例如按区域查看调用数,请执行以下步骤。

查看函数的指标

  1. 登录 AWS 管理控制台,通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/

  2. 在导航窗格中,选择 Monitoring (监控)

  3. Lambda@Edge functions (Lambda@Edge 函数) 下,选择一个函数,然后选择 View function metrics (查看函数指标)

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

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

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

要在 CloudWatch 控制台中查看图表,请选择 Add to dashboard (添加到控制面板)

设置警报以接收通知

在 CloudFront 控制台中,您可以基于特定 CloudFront 指标设置警报,以通过 Amazon Simple Notification Service 向您发送通知。

根据 CloudFront 指标接收 Amazon Simple Notification Service (Amazon SNS) 通知

  1. 登录 AWS 管理控制台,通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/

  2. 在导航窗格中,单击 Alarms (警报),然后选择分配。

  3. Alarms (警报) 页面上,展开现有警报的列表,以确认您要创建的警报尚不存在。

  4. 单击创建警报

  5. Create Alarm 对话框中,指定以下值:

    指标

    选择要为其创建警报的指标。

    分配

    选择要为其创建警报的 CloudFront 分配。

    警报名称

    输入警报的名称。

    发送通知到

    选择在此指标的状态触发警报时要将通知发送到的现有 Amazon SNS 主题。

    Whenever 指标运算符值

    指定 CloudWatch 应在何时触发警报并向指定的电子邮件列表发送通知。例如,要在 5xx 错误率超过 1% 时接收通知,请指定以下内容:

    Whenever Average of 5xxErrorRate > 1

    请注意以下有关为 value 指定值的注意事项:

    • 只能输入不带标点符号的整数。例如,要指定一千,请输入 1000

    • 对于 4xx、5xx 和总错误率,您指定的值为百分比。

    • 对于请求、已下载的字节和已上传的字节,指定的值带有单位,例如,1000000000 字节。

    For at least x consecutive periods of 时间段

    指定在所指定的持续时间的多少个连续时间段内指标满足标准,CloudWatch 才会发送通知。在选择值时,您需要在为短暂的问题频繁产生通知的值与实际问题的通知延迟之间找到平衡。

  6. 如果您创建了新的 Amazon SNS 主题,在单击创建时,Amazon SNS 将向您发送一封电子邮件,其中包含有关新主题的信息。按照电子邮件中的说明操作。

Amazon CloudFront 指标

AWS/CloudFront 命名空间包括以下指标。

注意

对于每个指标,只有一个适用的统计数据(Average 或 Sum)。但是,所有统计数据均可通过控制台、API 和 AWS Command Line Interface 获得。在下表中,每个指标指定了适用于该指标的统计数据。

指标 说明

Requests

对所有 HTTP 方法的请求数,以及对 HTTP 和 HTTPS 方法的请求总数。

有效统计数据:Sum

单位:无

BytesDownloaded

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

有效统计数据:Sum

单位:无

BytesUploaded

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

有效统计数据:Sum

单位:无

TotalErrorRate

HTTP 状态代码为 4xx5xx 的所有请求所占的百分比。

有效统计数据:Average

单位:百分比

4xxErrorRate

HTTP 状态代码为 4xx 的所有请求所占的百分比。

有效统计数据:Average

单位:百分比

5xxErrorRate

HTTP 状态代码为 5xx 的所有请求所占的百分比。

有效统计数据:Average

单位:百分比

CloudFront 指标的维度

CloudFront 指标使用 CloudFront 命名空间并提供了两个维度的指标:

维度 说明

DistributionId

要显示其指标的分配的 CloudFront ID。

Region

要显示其指标的区域。此值必须是 GlobalRegion 维度与 CloudFront 指标存储的区域不同,后者为 美国东部(弗吉尼亚北部)。