监控 Amazon EC2 上的 Elastic Fabric Adapter - Amazon Elastic Compute Cloud

监控 Amazon EC2 上的 Elastic Fabric Adapter

您可以使用以下功能监控 Elastic Fabric Adapters 的性能。

Amazon EC2 实例的 EFA 驱动程序指标

Elastic Fabric Adapter(EFA)驱动程序会发布多个来自挂载了 EFA 接口的实例的指标。您可以使用这些指标来排查应用程序性能问题、为工作负载选择合适的集群大小、主动计划扩缩活动以及对应用程序进行基准测试,以确定是否最大限度利用了实例上可用的 EFA 性能。

可用的 EFA 驱动程序指标

ENA 驱动程序会实时向实例发布以下指标。这些指标提供了自实例启动或上次驱动程序重置以来的累计错误数以及所挂载 EFA 设备发送、接收或丢弃的数据包数。

指标 描述
tx_bytes

传输的字节数。

单位:字节

rx_bytes

收到的字节数。

单位:字节

tx_pkts

传输的数据包数。

单位:计数

rx_pkts

收到的数据包数。

单位:计数

rx_drops

收到但随后丢弃的数据包数。

单位:计数

send_bytes

使用发送操作发送的字节数。

单位:字节

recv_bytes

通过发送操作收到的字节数。

单位:字节

send_wrs

使用发送操作发送的数据包数。

单位:计数

recv_wrs

通过发送操作收到的数据包数。

单位:计数

rdma_write_wrs

已完成的 rdma 写入操作数。

单位:计数

rdma_read_wrs

已完成的 rdma 读取操作数。

单位:计数

rdma_write_bytes

其他实例通过 rdma 写入操作写入的字节数。

单位:字节

rdma_read_bytes

通过 rdma 读取操作收到的字节数。

单位:字节

rdma_write_wr_err

出现本地或远程错误的 rdma 写入操作数。

单位:计数

rdma_read_wr_err

出现本地或远程错误的 rdma 读取操作数。

单位:计数

rdma_read_resp_bytes

为响应 rdma 读取操作而发送的字节数。

单位:字节

rdma_write_recv_bytes

通过 rdma 写入操作收到的字节数。

单位:字节

检索实例的 EFA 驱动程序指标

您可以使用 rdma-tool 命令行工具来检索挂载到实例的所有 EFA 接口的指标,如下所示:

$ rdma -p statistic show link rdmap0s31/1 tx_bytes 0 tx_pkts 0 rx_bytes 0 rx_pkts 0 rx_drops 0 send_bytes 0 send_wrs 0 recv_bytes 0 recv_wrs 0 rdma_read_wrs 0 rdma_read_bytes 0 rdma_read_wr_err 0 rdma_read_resp_bytes 0 rdma_write_wrs 0 rdma_write_bytes 0 rdma_write_wr_err 0

您也可以使用以下命令从 sys 文件中检索挂载到实例的每个 EFA 接口的指标。

$ more /sys/class/infiniband/device_number/ports/port_number/hw_counters/* | cat

例如

$ more /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/* | cat :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/lifespan :::::::::::::: 12 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_resp_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wr_err :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wrs :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_recv_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wr_err :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wrs :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_wrs :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_drops :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_pkts :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_wrs :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_bytes :::::::::::::: 0 :::::::::::::: /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_pkts :::::::::::::: 0

Amazon VPC 流日志

您可以创建 Amazon VPC 流日志以捕获有关进出 EFA 的流量的信息。流日志数据可以发布到 Amazon CloudWatch Logs 和 Amazon S3。在创建流日志后,您可以在所选的目标中检索和查看其数据。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 流日志

您可以使用为弹性网络接口创建流日志的相同方式为 EFA 创建流日志。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建流日志

在流日志条目中,EFA 流量由 srcAddressdestAddress 标识,二者都格式化为 MAC 地址,如以下示例中所示。

version accountId eniId srcAddress destAddress sourcePort destPort protocol packets bytes start end action log-status 2 3794735123 eni-10000001 01:23:45:67:89:ab 05:23:45:67:89:ab - - - 9 5689 1521232534 1524512343 ACCEPT OK

Amazon CloudWatch

如果在 Amazon EKS 集群中使用 EFA,则可以使用 CloudWatch Container Insights 监控您的 EFA。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon EKS 和 Kubernetes Container Insights 指标