3. NX-OS性能监控工具入门
在Nexus交换机上做性能优化与容量规划,第一步不是调参数,而是“看得见”。NX-OS提供了三条互补的观测通道:面向交互式排查的show命令体系、面向传统网管的SNMP轮询,以及面向高精度流式采集的Telemetry。理解三者的定位差异,并识别出真正反映瓶颈的关键计数器,是后续所有容量决策的基础。
三条观测通道的定位与差异
show命令是“按需拉取”的即时快照,适合故障定位和临时确认,但无法长期留存趋势;SNMP以固定周期轮询MIB对象,适合接入既有网管平台做分钟级趋势,但受轮询间隔和OID粒度限制,难以捕捉微突发;Telemetry则由设备主动、持续、高频地推送结构化数据(常见为gNMI/gRPC或NX-API),采样间隔可低至秒级甚至亚秒级,适合做精细的容量建模与突发分析。三者不是替代关系,而是分层配合:Telemetry做长期高精度基线,SNMP做网管集成,show命令做现场验证。
show命令体系:从接口到队列的排查路径
show命令的价值在于“快”和“准”。排查性能问题时,建议按“接口总量→错误计数→队列与缓存→控制面资源”的顺序逐层下钻。以下命令是日常最常用的组合:
show interface Ethernet1/1
show interface Ethernet1/1 counters errors
show interface Ethernet1/1 counters detailed
show queuing interface Ethernet1/1
show hardware internal buffer info pkt-stats
show system resources
show processes cpu sort | head 20
其中 show interface 给出速率、双工、MTU和输入输出总包数;counters errors 暴露 CRC、输入错误、输出丢弃等异常;counters detailed 进一步区分单播、组播、广播及各类丢弃原因;show queuing interface 展示每个队列的入队、出队、丢弃和当前占用,是判断拥塞点的关键;show hardware internal buffer info pkt-stats 则反映共享缓存的实时占用,用于识别微突发导致的缓存耗尽。控制面方面,show system resources 看CPU和内存,show processes cpu sort 定位高占用进程。
SNMP:轮询式采集的配置与局限
SNMP适合把Nexus纳入统一网管。典型配置包括启用SNMP、定义团体字或v3用户、限制访问源,并指定trap接收者:
snmp-server community NetMon RO
snmp-server host 10.10.20.50 traps version 2c NetMon
snmp-server enable traps link
snmp-server enable traps entity
性能采集主要依赖 IF-MIB 的 ifHCInOctets、ifHCOutOctets、ifInErrors、ifOutDiscards 等64位计数器,以及 CISCO-IF-EXTENSION-MIB 中的扩展信息。轮询间隔通常为60秒,这意味着任何短于60秒的突发都会被平均掉。因此SNMP适合做趋势和告警,不适合做微突发容量分析。此外,SNMP轮询本身会消耗少量CPU,大规模轮询时需评估对控制面的影响。
Telemetry:高精度流式采集基础
Telemetry采用“订阅—推送”模型,设备按指定路径和周期主动上报。以gNMI为例,典型订阅路径包括接口计数器、队列统计和缓存占用。配置时需关注三个参数:采样间隔(如1000ms或100ms)、订阅路径(如 /interfaces/interface/state/counters)和传输方式(gRPC dial-out或dial-in)。采样间隔越短,数据精度越高,但设备CPU、内存和网络开销也越大。实践中建议对关键上行端口采用1秒间隔,对非关键端口采用10秒或更长间隔,形成分级采集策略。
关键性能计数器识别
并非所有计数器都同等重要。容量规划应聚焦以下几类:
- 吞吐类:接口入/出速率(bps、pps),用于判断链路利用率是否接近阈值。
- 丢包类:输入丢弃、输出丢弃、队列丢弃,区分拥塞丢包与错误丢包。
- 队列类:各队列深度、丢弃数、当前占用,识别哪个优先级队列在拥塞。
- 缓存类:共享缓存使用量、峰值占用,判断微突发是否耗尽缓存。
- 错误类:CRC、对齐错误、符号错误,反映物理层或链路质量问题。
- 资源类:CPU利用率、内存占用、TCAM使用率、ARP/路由表项数,反映控制面容量。
以一条10G上行链路为例,若持续出速率达到8Gbps(利用率80%),同时输出丢弃计数在5分钟内增长约1200个包,队列统计显示某高优先级队列丢弃集中,则可初步判断该链路已进入拥塞区间,需要评估扩容或调整QoS策略。这里的关键不是单个数字,而是“利用率+丢弃+队列”三者的联合判读。
| 计数器类别 | 典型命令/路径 | 容量规划用途 |
|---|---|---|
| 接口吞吐 | show interface / ifHCInOctets | 链路利用率趋势 |
| 错误计数 | counters errors / ifInErrors | 链路质量评估 |
| 队列丢弃 | show queuing interface | 拥塞点定位 |
| 缓存占用 | buffer info pkt-stats | 微突发分析 |
| 控制面资源 | show system resources | CPU/内存容量 |
掌握这三条通道和关键计数器后,下一步才是把它们组织成可持续的采集与基线体系。本节的重点是建立“看什么、从哪里看、看到什么算异常”的基本判断力,为后续的容量建模和优化决策提供可靠输入。