3. 可观测性数据源与采集体系
在 AI 集群中,网络可观测性并不是“装一个监控工具”这么简单。它本质上是一套由多种数据源组成的采集体系:不同数据源回答不同问题,采样频率、时间精度、覆盖范围和资源开销也各不相同。理解这些数据源的分工与采集原理,是后续做性能诊断和故障定位的基础。
一、带内遥测与带外遥测:两条互补的采集通道
带内遥测(In-band Telemetry)指遥测数据与业务流量共享同一张网络转发路径。典型实现是 INT(In-band Network Telemetry):数据包在经过每台交换机时,交换机把本跳的端口、队列深度、时延、时间戳等元数据写入包头或专用遥测头,最终由接收端或采集器解析。它的最大价值是逐包、逐跳地还原真实转发路径上的状态,特别适合定位“某个流在某一跳出现微突发或排队”的问题。代价是需要在数据面插入元数据,占用带宽并增加交换机处理开销,因此通常按采样率(如 1/1024、1/4096)启用,而不是全量开启。
带外遥测(Out-of-band Telemetry)则走独立通道,不占用业务转发路径。常见形式包括:交换机通过 gNMI/gRPC 主动推送或被动查询接口计数器、通过 Streaming Telemetry 周期上报端口/队列/缓存指标、通过 SNMP 轮询获取基础状态。它的优点是零业务干扰、覆盖全面、适合长期趋势采集;缺点是采样周期通常在秒级,难以捕捉微秒级的瞬态拥塞。二者关系可以概括为:带内看“细节与瞬态”,带外看“全局与趋势”。
二、流表统计、计数器与事件日志
流表统计来自交换机 ASIC 的流表(Flow Table)或 ACL 表项。每条表项通常带有命中计数、字节数、时间戳等字段。在 AI 集群中,流表统计常用于按五元组或 DSCP 分类统计 RoCEv2 流量,例如区分不同租户、不同优先级队列的流量占比。它的优势是粒度细、可关联到具体业务流;局限是表项数量有限,需要提前规划匹配规则,且统计更新存在延迟。
计数器是最基础也最广泛的数据源,包括端口级计数器(收发包数、字节数、CRC 错误、丢包、pause 帧)、队列级计数器(各优先级队列的丢弃、水位)、缓存级计数器(共享缓冲区占用)。计数器采集的关键在于差分与速率计算:单次读取的绝对值意义有限,需要按固定周期读取并计算增量,才能得到丢包速率、带宽利用率等有诊断价值的指标。例如,某端口 10 秒内 rx_discards 增加 5000,则丢包速率约为 500 pps,结合队列水位可判断是否为拥塞丢包。
事件日志记录的是离散的状态变化:链路 up/down、端口 flap、BGP/EVPN 邻居震荡、PFC 死锁告警、温度越限、光模块告警等。事件日志的价值在于提供时间锚点——当性能指标出现异常时,用事件日志对齐时间线,往往能快速找到根因。例如,训练任务在 14:32 出现吞吐骤降,而事件日志显示 14:31 某 Spine 端口发生 flap,二者时间高度吻合,即可优先排查该链路。
三、NVIDIA NetQ 与 UFM 的采集原理
NVIDIA NetQ 面向以太网 AI 集群,采用“代理 + 流式遥测”的架构。它在交换机或服务器上部署 NetQ Agent,Agent 通过 gNMI、SNMP、SSH 等多种协议从设备采集数据,并以流式方式上报到 NetQ 服务器。NetQ 的核心能力是跨层关联:把物理链路状态、VLAN/EVPN 配置、路由邻居、流表统计、容器/主机网络状态整合到同一时间轴上,支持“从主机到主机”的路径追踪和配置一致性校验。在采集频率上,NetQ 对关键指标(如链路状态、邻居状态)采用事件驱动,对性能计数器采用周期轮询,兼顾实时性与开销。
NVIDIA UFM 面向 InfiniBand 集群,采集原理与 NetQ 不同。UFM 通过 InfiniBand 的子网管理接口(SMI)与子网管理器(SM)交互,读取各节点的 Performance Counters(端口计数器、优先级计数器)、通过 MAD(Management Datagram)获取链路速率、误码、拥塞控制参数等。UFM 还支持Telemetry 流式采集,以较高频率获取端口级和队列级指标,用于构建 Fabric 健康视图和拥塞分析。由于 InfiniBand 的计数器语义与以太网不同(如 Symbol Errors、Link Downed、Port Rcv Remote Physical Errors),UFM 的指标解读需要结合 IB 协议规范。
四、采集频率与开销的权衡
采集体系设计中最实际的约束是频率与开销的平衡。以一台 64 端口 400G 交换机为例,若对每个端口、每个优先级队列(假设 8 个队列)都做 1 秒级计数器采集,单台设备每秒需要上报约 64×8=512 个队列计数器加上端口级计数器,规模在千级指标量级。若提升到 100ms 级,指标量增加 10 倍,对采集器、传输通道和存储都会形成压力。因此工程上通常采用分层策略:
- 高频(100ms~1s):只采集关键端口的关键队列计数器,用于捕捉微突发和拥塞。
- 中频(10s~30s):采集全量端口计数器、流表统计,用于趋势分析和容量规划。
- 事件驱动:链路状态、邻居状态、告警事件,变化即上报,不占用周期带宽。
- 按需触发:带内遥测在检测到异常时临时提高采样率,平时保持低采样。