

# 使用 Amazon CloudWatch 与 AWS Global Accelerator
<a name="cloudwatch-monitoring"></a>

AWS Global Accelerator 向 Amazon CloudWatch 发布关于加速器的数据点。利用 CloudWatch，您可以按一组有序的时间序列数据（称为*指标*）来检索关于这些数据点的统计数据。可将指标视为要监控的变量，而将数据点视为该变量随时间变化的值。例如，您可以监控在指定时间段内通过加速器的流量。每个数据点都有相关联的时间戳和可选测量单位。

**注意**  
您必须在控制台中或使用 AWS CLI 查看美国西部（俄勒冈州）区域中 Global Accelerator 的 CloudWatch 指标和日志。使用 AWS CLI 时，请通过加入以下参数为您的命令指定美国西部（俄勒冈州）区域：`--region us-west-2`。

您可以使用这些指标对初始 Global Accelerator 进行问题排查，帮助确定流量是否到达端点，并在随后返回响应。查看自动记入日志的 CloudWatch 指标，以查看流量是否传输到您的端点，例如网络负载均衡器。其中应该包括从 Global Accelerator 到端点的出站指标，然后从 Global Accelerator 返回客户端的指标，对于端点（例如负载均衡器）也应该有同样的指标。如果流量从 Global Accelerator 流入但未返回，或者未能到达负载均衡器，则可能表明您需要验证配置，确定是否允许流量流经预期端口，以及您的安全组设置是否允许访问。

您还可以使用指标来验证系统是否按照预期运行。例如，您可以创建 CloudWatch 警报来监控指定的指标，并在指标超出您的可接受范围时采取行动（如向电子邮件地址发送通知）。

只有当请求流经加速器时，Global Accelerator 才会向 CloudWatch 报告指标。如果有请求流经加速器，Global Accelerator 会进行测量并按 60 秒的间隔发送其指标。如果没有请求流经加速器，或者指标无数据，则不报告指标。

有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

**Topics**
+ [Global Accelerator 指标](#cloudwatch-metrics-global-accelerator)
+ [加速器的指标维度](#cloudwatch-metric-dimensions-aga)
+ [解决 Global Accelerator TCP 重置问题](#cloudwatch-metrics-globalaccelerator-tcp-resets)
+ [Global Accelerator 指标的统计数据](#cloudwatch-metric-statistics)
+ [查看适用于您的加速器的 CloudWatch 指标](#view-metric-data)

## Global Accelerator 指标
<a name="cloudwatch-metrics-global-accelerator"></a>

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


| 指标 | 描述 | 
| --- | --- | 
| ActiveFlowCount |  Global Accelerator 中某个加速器从客户端到端点的 TCP 和 UDP 并发连接总数。对于在加速器上终止的 TCP 连接，客户端与端点建立的 TCP 连接计为一个流。 您可以利用此指标来更好地了解有多少活跃用户（连接数）正在访问端点，或者确定是否需要扩展资源来处理流量。 **报告标准**：针对已配置和已启用的加速器进行报告。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| Flows\$1Dropped\$1No\$1Endpoint\$1Found |  由于无 IPv6 端点可用而被丢弃的 TCP IPv6 数据包流总数。例如，如果您的加速器采用双协议栈 IP 地址类型，并且将加速器端点的 IP 地址类型更改为 IPv4，则可能会发生这种情况。 **报告标准**：针对具有双协议栈 IP 地址类型的加速器进行报告，这些加速器在发生以下情况之一时正在接收 IPv6 流量： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html) **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| HealthyEndpointCount |  被视为正常运行的端点总数。Global Accelerator 会定期检查标准加速器上的端点状态。这些运行状况检查将自动运行。这些运行状况检查的运行方式和运行时间取决于端点类型和端点运行状况检查选项。要了解更多信息，请参阅 [确保加速器的运行状况检查访问权限](about-endpoint-groups-health-check-options.md)。 **报告标准**：针对已配置和已启用的加速器进行报告。 **统计数据**：最有用的统计工具为 `Minimum` 和 `Maximum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| NewFlowCount |  时段内建立的客户端至端点的新 TCP 和 UDP 流（或连接）总数。 **报告标准**：有非零值。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| ProcessedBytesIn |  加速器处理的传入字节总数，包括 TCP/IP 标头。此计数包括所有传输到端点的流量。 **报告标准**：有非零值。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| ProcessedBytesOut |  加速器处理的传出字节总数，包括 TCP/IP 标头。此计数来自端点的流量，减去运行状况检查流量。 **报告标准**：有非零值。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| PacketsProcessed |  Global Accelerator 为加速器处理的数据包总数，包括进出终端节点的流量，运行状况检查流量也包括在内。您可借助该指标对特定时间段内的流量进行基准测试。 **报告标准**：针对已配置和已启用的加速器进行报告。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| UnhealthyEndpointCount |  被视为运行不正常的端点总数。Global Accelerator 会定期检查标准加速器上的端点状态。这些运行状况检查将自动运行。这些运行状况检查的运行方式和运行时间取决于端点类型和端点运行状况检查选项。要了解更多信息，请参阅 [确保加速器的运行状况检查访问权限](about-endpoint-groups-health-check-options.md)。 **报告标准**：针对已配置和已启用的加速器进行报告。 **统计数据**：最有用的统计工具为 `Minimum` 和 `Maximum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| TCP\$1AGA\$1Reset\$1Count |  AWS Global Accelerator（“AGA”）生成的重置（RST）数据包的总数。使用此指标，您可以确定 Global Accelerator 是否正在终止客户端连接，并将重置发回到客户端端点。 有关评估 Global Accelerator 生成的 TCP RST 并排查相关错误的更多信息，请参阅[解决 Global Accelerator TCP 重置问题](#cloudwatch-metrics-globalaccelerator-tcp-resets)。 **报告标准**：在有流量且存在非零值时报告。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| TCP\$1Client\$1Reset\$1Count |  从客户端发送至端点的重置（RST）数据包的总数。利用此指标，您可以确定客户端能否保持与 Global Accelerator 之间的连接处于开放状态，或者连接是否会提前意外重置。这在一些情况下非常有用，比如最初配置 Global Accelerator 时，此外，在对创建连接重置的客户端进行更改时，也可借此保持可见性。 有关评估 Global Accelerator 生成的 TCP RST 并排查相关错误的更多信息，请参阅[解决 Global Accelerator TCP 重置问题](#cloudwatch-metrics-globalaccelerator-tcp-resets)。 **报告标准**：在有流量且存在非零值时报告。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 
| TCP\$1Endpoint\$1Reset\$1Count |  从端点发送至客户端的重置（RST）数据包的总数。您可以利用此指标确定客户端端点何时过载。 有关评估 Global Accelerator 生成的 TCP RST 并排查相关错误的更多信息，请参阅[解决 Global Accelerator TCP 重置问题](#cloudwatch-metrics-globalaccelerator-tcp-resets)。 **报告标准**：在有流量且存在非零值时报告。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html)  | 

## 加速器的指标维度
<a name="cloudwatch-metric-dimensions-aga"></a>

要筛选您的加速器的指标，可以使用以下维度。


| 维度 | 描述 | 
| --- | --- | 
| Accelerator |  按加速器筛选指标数据。按加速器 ID（加速器 ARN 的最后一部分）指定加速器。例如，如果 ARN 是 `arn:aws:globalaccelerator::012345678901:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh`，则指定以下内容：**1234abcd-abcd-1234-abcd-1234abcdefgh**。  | 
| Listener |  按侦听器筛选指标数据。按侦听器 ID（侦听器 ARN 的最后一部分）指定侦听器。例如，如果 ARN 是 `arn:aws:globalaccelerator::012345678901:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh/listener/0123wxyz`，则指定以下内容：**0123wxyz**。  | 
| EndpointGroup |  按端点组筛选指标数据。例如，按 AWS 区域指定端点组 **us-east-1**（全部为小写字母）。  | 
| SourceRegion |  按源区域筛选指标数据，源区域是运行应用程序端点的 AWS 区域的地理区域。源区域是下列区域之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html) \$1不包括韩国和印度  | 
| DestinationEdge |  按目标边缘筛选指标数据，目标边缘是传输您的客户端流量的 AWS 边缘站点的地理区域。目标边缘是下列区域之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/cloudwatch-monitoring.html) \$1不包括韩国和印度  | 
| TransportProtocol |  按传输协议筛选指标数据：UDP 或 TCP。  | 
| AcceleratorIPAddress |  按加速器 IP 地址筛选指标数据：即分配至某加速器的静态 IP 地址之一。  | 

## 解决 Global Accelerator TCP 重置问题
<a name="cloudwatch-metrics-globalaccelerator-tcp-resets"></a>

每个加速器都会报告从 Global Accelerator 生成和发送的 TCP 重置（TCP RST）的数量。以下是 Global Accelerator 发送 TCP 重置的常见原因：
+ 在客户端或端点使用 FIN 握手或重置关闭连接时，Global Accelerator 将 TCP 连接标记为已关闭。如果客户端或端点通过已关闭的 TCP 连接发送数据包，则 Global Accelerator 会生成 TCP 重置，表示连接已关闭且无法接受流量。
+ 如果客户端或端点在空闲超时期限后发送数据，则会收到 Global Accelerator 发来的一个 TCP 重置数据包，以指示连接不再有效。
+ 在 TCP 握手期间，如果 Global Accelerator 在与客户端或端点建立连接时收到意外数据包，则 Global Accelerator 会生成 TCP 重置。

如果您看到加速器的 `AGA_Reset_Count` 指标数量稳定，原因在于客户端或端点向已关闭或过期的连接发送了发往 Global Accelerator 的数据。

如果您注意到 `AGA_Reset_Count` 指标急剧增加，并且增长与端点方面的相关指标变化一致，例如纵向扩展、缩减或端点运行状况不佳，则该端点可能已无法访问并触发了 Global Accelerator TCP 重置。如果在调查此问题时需要帮助，请联系 AWS 支持人员。

## Global Accelerator 指标的统计数据
<a name="cloudwatch-metric-statistics"></a>

CloudWatch 提供基于 Global Accelerator 发布的指标数据点的统计数据。统计数据是在指定的时间段内汇总的指标数据。当请求统计数据时，返回的数据流按指标名称和维度进行识别。维度是用于唯一标识指标的名称/值对。例如，您可以为加速器请求输出已处理的字节，这些字节从欧洲的 AWS 边缘站点（目标边缘为“EU”）传输而来。

以下是您可能认为有用的指标/维度组合示例：
+ 查看两个加速器 IP 地址中每个地址所处理的流量（例如 ProcessedBytesOut），以验证您的 DNS 配置是否正确。
+ 查看用户流量的地理分布情况，并监控其中有多少是本地流量（例如，北美到北美）或全球流量（例如澳大利亚或印度到北美）。为确定此信息，请查看 ProcessedBytesIn 或 ProcessedBytesOut 指标，并将维度 DestinationEdge 和 SourceRegion 设置为特定值。
+ 查看加速器中运行状况不佳的端点数量，并确定它们属于哪些端点组。如果您有大量端点组，这对于帮您快速找到端点出现问题的端点组特别有用。为确定此信息，请查看指标 UnhealthyEndpointCount 以及维度 Accelerator、Listener 和 EndpointGroup。

## 查看适用于您的加速器的 CloudWatch 指标
<a name="view-metric-data"></a>

您可以使用 CloudWatch 控制台或 AWS CLI 查看加速器的 CloudWatch 指标。在控制台中，这些指标显示为监控图表。如果加速器处于活动状态并且正在接收请求，则监控图表会显示数据点。

您必须在控制台中或使用 AWS CLI 查看美国西部（俄勒冈州）区域中 Global Accelerator 的 CloudWatch 指标。使用 AWS CLI 时，请通过加入以下参数为您的命令指定美国西部（俄勒冈州）区域：`--region us-west-2`。

要使用 CloudWatch 控制台查看指标，请按照《Amazon CloudWatcer 用户指南》中的步骤操作，并选择 **GlobalAccelerator** 命名空间。如需了解详情，请参阅[查看可用指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)。

**使用 AWS CLI 获取指标的统计数据**  
使用以下 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 命令获取指定指标和维度的统计数据。请注意 CloudWatch 将不同维度的每种唯一组合视为一个单独的指标。您无法使用未专门发布的维度组合检索统计数据。您必须指定创建指标时使用的同一维度。

下面的示例列出了针对您的加速器，每分钟处理的从北美（NA）目的地传入的字节总数。

```
aws cloudwatch get-metric-statistics --namespace AWS/GlobalAccelerator \
--metric-name ProcessedBytesIn \
--region us-west-2 \
--statistics Sum --period 60 \
--dimensions Name=Accelerator,Value=1234abcd-abcd-1234-abcd-1234abcdefgh Name=DestinationEdge,Value=NA \
--start-time 2019-12-18T20:00:00Z --end-time 2019-12-18T21:00:00Z
```

下面是该命令的示例输出：

```
{
    "Label": "ProcessedBytesIn",
    "Datapoints": [
        {
            "Timestamp": "2019-12-18T20:45:00Z",
            "Sum": 2410870.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:47:00Z",
            "Sum": 0.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:46:00Z",
            "Sum": 0.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:42:00Z",
            "Sum": 1560.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:48:00Z",
            "Sum": 0.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:43:00Z",
            "Sum": 1343.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:49:00Z",
            "Sum": 0.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2019-12-18T20:44:00Z",
            "Sum": 35791560.0,
            "Unit": "Bytes"
        }
    ]
}
```