iMC 平台提示设备MIB访问异常告警经验案例

一、故障现象

某客户反馈iMC平台上多台设备产生MIB访问异常告警,且IMC获取不到设备的接口等信息。告警详细信息如下所示:

  1.jpg

二、故障分析

1、检查设备上SNMP参数与IMC上的SNMP参数配置完全一致,而且在iMC服务器上对设备SNMP进行测试,测试结果正常,如下图所示。

2.jpg

经以上测试,说明SNMP参数配置正常且IMC与设备路由可达。

2、在IMC服务器上启动抓包,选择一台有该告警的设备对其作同步操作,并查看IMC日志信息。

3.jpg

2017-09-21 08:13:16.376 [INFO (-1418)] [THREAD(9048)] [CBulkSnmpOper::iGetVbList] snmp get oper ret fail.->DevIP[38.19.5.1],iOperType[0],strStartOid[1.3.6.1.6.3.15.1.1.2.0]

2017-09-21 08:13:16.376 [ERROR (-1418)] [THREAD(9048)] [CLswInterfaceInfoImp::getInerfaceInfoSimple] iGetVbList() fail when access ifCount of dev[38.19.5.1]

从抓包和日志来看,在读取设备信息的时候,设备返回了一个report报文,SNMP底层捕获到有错误 -1418), 根据report报文的提示,错误信息是 1.3.6.1.6.3.15.1.1.2.0 该提示的意思是SNMP校验时间窗时有错误not In Time Windows)。该提示主要是用来防报文篡改,也就是请求报文中所携带的网管engine Time值同设备本身的engine Time偏差较大时,设备会拒绝本次请求。由于客户现场所有设备采用SNMP V3,而SNMP V3校验很严格,和设备的EgnineID有关系, 在一个NMS管理的所有设备中,每一个设备都需要有一个唯一的引擎ID来标识SNMP agent,缺少情况下每个设备有一个缺省的引擎ID,网络管理员需要确保一个管理域内不能有重复的引擎ID

三、故障原因

Engine ID是用来区分snmp agent的唯一标识,由于现网中存在多台设备的SNMP Engine ID配置冲突,导致网管可能无法区分每一台设备造成的相互干扰,使得设备返回report报文。

四、解决方案

找出有此告警的设备,删除静态配置的设备snmp engineid。

undo snmp-agent local-engineid

 

 


2017年11月