今天碰到个怪事儿,某营业厅里的AP明明在线,用户也在上网,可网管那一侧却显示没流量。运维团队接到报警后立刻开始排查。咱们先把拓扑图拿出来瞅瞅。 工程师先排除了假在线的可能,他们把每台AP都telnet上去了,查了show sta命令,确认用户确实还在关联列表里,AP没吊死也没报错。接着用MG-Soft这个软件,把AC下所有AP的无线侧收发节点给轮询了一遍。两次采集间隔10分钟,结果所有AP的收发数值都没动过,显然不是业务低谷,数据根本就没到SNMP这一层。 这下得深入看看原因了。登录AC管理平台看snmpd进程日志和运行时间,发现日志没啥异常报警,进程运行时间和AC上电时间是一样的,说明没重启过。不过一看端口162,好家伙,堆积了116640条待处理消息,数值也不变化了,这端口肯定是堵死了。再用netstat -na | grep 162命令一查,发现162端口队列长度都顶到了顶。数据包没法被SNMP代理消费,所以AC看似在线,其实已经失联了。 要解决这问题就得赶紧动手。第一步是临时重启snmpd疏通队列。用killall -9 snmpd把进程杀了,阻塞队列立马清零了,网管界面的流量数据立马开始滚动,业务也马上恢复了。为了防患于未然,咱们还得升级版本彻底根治隐患。等把snmpd软件升级到最新稳定版后,还得调整配置文件里的重传策略和队列长度参数,这样就能把端口爆满的风险给彻底消除了。