收集网络性能指标 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

收集网络性能指标

在 Linux 上运行的 EC2 实例使用 Elastic Network Adapter (ENA) 发布网络性能指标。版本 1.246396.0 和更高版本的 CloudWatch 代理使您能够将这些网络性能指标导入到 CloudWatch 中。当您将这些网络性能指标导入到 CloudWatch 时,它们将作为 CloudWatch 自定义指标收费。

有关 ENA 驱动程序的更多信息,请参阅在 Linux 实例上启用 Elastic Network Adapter (ENA) 增强联网在 Windows 实例上启用 Elastic Network Adapter (ENA) 增强联网

在 Linux 服务器和 Windows 服务器上,设置网络性能指标集合的方式不同。

下表列出了 ENA 适配器启用的这些网络性能指标。当 CloudWatch 代理从 Linux 实例将这些指标导入 CloudWatch 时,它会在每个指标名称的开头前置 ethtool_

指标 描述

Linux 服务器上的名称:bw_in_allowance_exceeded

Windows 服务器上的名称:Aggregate inbound BW allowance exceeded

因入站聚合带宽超过实例的最大值而排队和/或丢弃的数据包的数量。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 服务器上的名称:bw_out_allowance_exceeded

Windows 服务器上的名称:Aggregate outbound BW allowance exceeded

因出站聚合带宽超过实例的最大值而排队和/或丢弃的数据包的数量。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 服务器上的名称:conntrack_allowance_available

Windows 服务器上的名称:Available connection tracking allowance

报告在达到该实例类型的跟踪连接限额之前,实例可以建立的跟踪连接数。此指标仅支持使用适用于弹性网络适配器(ENA)的 Linux 驱动程序版本 2.8.1 及更高版本,且基于 Nitro 的 EC2 实例,以及使用适用于弹性网络适配器(ENA)的 Windows 驱动程序版本 2.6.0 及更高版本的计算机。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 服务器上的名称:ena_srd_mode

Windows 服务器上的名称:ena srd mode

描述启用了哪些 ENA Express 功能。有关 ENA Express 的更多信息,请参阅在 Linux 实例上使用 ENA Express 提高网络性能。值如下所示:

  • 0 = ENA Express 关闭,UDP 关闭

  • 1 = ENA Express 开启,UDP 关闭

  • 2 = ENA Express 关闭,UDP 开启

    注意

    仅在最初启用 ENA Express 并将 UDP 配置为使用该功能时,才会发生这种情况。UDP 流量将保留先前值。

  • 3 = ENA Express 开启,UDP 开启

Linux 服务器上的名称:ena_srd_eligible_tx_pkts

Windows 服务器上的名称:ena srd eligible tx pkts

在指定时间段内发送的符合 Amazon 可扩展的可靠数据报(SRD)要求的网络数据包的数量,如下所示:

  • 同时支持发送和接收实例类型。

  • 发送和接收实例都必须配置 ENA Express。

  • 发送和接收实例必须位于同一子网上。

  • 实例之间的网络路径不得包含中间件。ENA Express 目前不支持中间件。

Linux 服务器上的名称:ena_srd_tx_pkts

Windows 服务器上的名称:ena srd tx pkts

指定时间段内传输的 SRD 数据包数量。

Linux 服务器上的名称:ena_srd_rx_pkts

Windows 服务器上的名称:ena srd rx pkts

指定时间段内接收的 SRD 数据包数量。

Linux 服务器上的名称:ena_srd_resource_utilization

Windows 服务器上的名称:ena srd resource utilization

实例已消耗的 SRD 并发连接的最大允许内存利用率的百分比。

Linux 服务器上的名称:linklocal_allowance_exceeded

Windows 服务器上的名称:Link local packet rate allowance exceeded

由于到本地代理服务的流量的 PPS 超出网络接口的最大值而丢弃的数据包数量。这会影响流向 DNS 服务、实例元数据服务和 Amazon Time Sync Service 的流量。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 服务器上的名称:linklocal_allowance_exceeded

Windows 服务器上的名称:Link local packet rate allowance exceeded

由于到本地代理服务的流量的 PPS 超出网络接口的最大值而丢弃的数据包数量。这会影响流向 DNS 服务、实例元数据服务和 Amazon Time Sync Service 的流量。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 服务器上的名称:pps_allowance_exceeded

Windows 服务器上的名称:PPS allowance exceeded

因双向 PPS 超过实例的最大值而排队和/或丢弃的数据包的数量。

仅当您将此指标列在 CloudWatch 代理配置文件 metrics_collected 部分的 ethtool 子部分时,才会收集该指标。有关更多信息,请参阅 收集网络性能指标

单位:无

Linux 设置

在 Linux 服务器上,ethtool 插件使您能够将网络性能指标导入到 CloudWatch 中。

ethtool 是一个标准的 Linux 实用工具,可以收集有关 Linux 服务器上以太网设备的统计数据。它收集的统计数据取决于网络设备和驱动程序。这些统计数据的示例包括 tx_cntrx_bytestx_errorsalign_errors。当您将 ethtool 插件与 CloudWatch 代理一起使用时,您还可以将这些统计数据以及本部分前面列出的 EC2 网络性能指标导入到 CloudWatch 中。

提示

要查找我们的操作系统和网络设备上可用的统计数据,请使用 ethtool –S 命令。

当 CloudWatch 代理将指标导入 CloudWatch 时,它会为所有导入指标的名称添加一个 ethtool_ 前缀。所以标准的 ethtool 统计数据 rx_bytes 在 CloudWatch 中被称为 ethtool_rx_bytes,EC2 网络性能指标 bw_in_allowance_exceeded 在 CloudWatch 中被称为 ethtool_bw_in_allowance_exceeded

在 Linux 服务器上,如需导入 ethtool 指标,请为 CloudWatch 代理配置文件 metrics_collected 部分添加 ethtool 部分。ethtool 部分包含以下子部分:

  • interface_include – 包括此部分会导致代理仅从本节中列出名称的接口收集指标。如果省略此部分,则会从 interface_exclude 中未列出的所有以太网接口收集指标。

    默认以太网接口为 eth0

  • interface_exclude – 如果包含此部分,请列出您不希望从中收集指标的以太网接口。

    ethtool 插件始终忽略环回接口。

  • metrics_include – 此部分列出了要导入到 CloudWatch 中的指标。它可以包括 ethtool 收集的标准统计数据和 Amazon EC2 高精度网络指标。

以下示例显示 CloudWatch 代理配置文件的一部分。此配置收集标准的 ethtool 指标 rx_packetstx_packets,以及仅来自 eth1 接口的 Amazon EC2 网络性能指标。

有关 CloudWatch 代理配置文件的更多信息,请参阅 手动创建或编辑 CloudWatch 代理配置文件

"metrics": { "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "ethtool": { "interface_include": [ "eth1" ], "metrics_include": [ "rx_packets", "tx_packets", "bw_in_allowance_exceeded", "bw_out_allowance_exceeded", "conntrack_allowance_exceeded", "linklocal_allowance_exceeded", "pps_allowance_exceeded" ] } } }

Windows 设置

在 Windows 服务器上,网络性能指标可通过 Windows 性能计数器获得,CloudWatch 代理已经从中收集指标。因此,您无需插件即可从 Windows 服务器收集这些指标。

以下是从 Windows 收集网络性能指标的配置文件示例。有关编辑 CloudWatch 代理配置文件的更多信息,请参阅 手动创建或编辑 CloudWatch 代理配置文件

{ "metrics": { "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "ENA Packets Shaping": { "measurement": [ "Aggregate inbound BW allowance exceeded", "Aggregate outbound BW allowance exceeded", "Connection tracking allowance exceeded", "Link local packet rate allowance exceeded", "PPS allowance exceeded" ], "metrics_collection_interval": 60, "resources": [ "*" ] } } } }

查看网络性能指标

将网络性能指标导入到 CloudWatch 后,您可以以时间序列图形的形式查看这些指标,并创建可监视这些指标的告警,并在它们超出指定的阈值时通知您。以下程序介绍了如何以时间序列图形的方式查看 ethtool 指标。有关设置告警的更多信息,请参阅 使用 Amazon CloudWatch 告警

由于所有这些指标都是聚合计数器,因此您可以使用 CloudWatch 指标数学函数(如 RATE(METRICS()))在图形中计算这些指标的比率,或使用它们设置告警。有关指标数学函数的更多信息,请参阅 使用指标数学

在 CloudWatch 控制台中查看网络性能指标
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择指标

  3. 为该代理收集的指标选择命名空间。默认情况下,该命名空间为 CWAgent,但您可能已经在 CloudWatch 代理配置文件中指定了不同的命名空间。

  4. 选择指标维度(例如 Per-Instance Metrics(每个实例的指标))。

  5. All metrics 选项卡显示命名空间中该维度的所有指标。您可执行以下操作:

    1. 要为指标绘制图表,请选中该指标旁的复选框。要选择所有指标,请选中表的标题行中的复选框。

    2. 要对表进行排序,请使用列标题。

    3. 要按资源进行筛选,请选择资源 ID,然后选择添加到搜索

    4. 要按指标进行筛选,请选择指标名称,然后选择添加到搜索

  6. (可选)要将此图表添加到 CloudWatch 控制面板,请选择 Actions(操作),然后选择 Add to dashboard(添加到控制面板)