snmpbulkwalk挂在某些OIDs

在Check_MK中设置一些主机进行SNMP监控时,我发现一些主机在snmpbulkwalk出现“挂起”,然后在处理某个OID时超时。

例如:

 OMD[prod]:~$ snmpbulkwalk -v 2c -c public compute01.domain.com .1.3.6.1.4.1.2021 UCD-SNMP-MIB::memIndex.0 = INTEGER: 0 UCD-SNMP-MIB::memErrorName.0 = STRING: swap UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 88109052 kB UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 88109052 kB UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 131860964 kB UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 94429952 kB UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 182539004 kB UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB UCD-SNMP-MIB::memBuffer.0 = INTEGER: 188772 kB UCD-SNMP-MIB::memCached.0 = INTEGER: 6685180 kB UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0) UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: UCD-SNMP-MIB::laIndex.1 = INTEGER: 1 UCD-SNMP-MIB::laIndex.2 = INTEGER: 2 UCD-SNMP-MIB::laIndex.3 = INTEGER: 3 UCD-SNMP-MIB::laNames.1 = STRING: Load-1 UCD-SNMP-MIB::laNames.2 = STRING: Load-5 UCD-SNMP-MIB::laNames.3 = STRING: Load-15 UCD-SNMP-MIB::laLoad.1 = STRING: 3.91 Timeout: No Response from compute01.domain.com 

snmpwalk ,另一方面,工作得很好:

 OMD[prod]:~$ snmpwalk -v 2c -c public compute01.domain.com .1.3.6.1.4.1.2021 UCD-SNMP-MIB::memIndex.0 = INTEGER: 0 UCD-SNMP-MIB::memErrorName.0 = STRING: swap UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 88109052 kB UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 88109052 kB UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 131860964 kB UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 94424732 kB UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 182533784 kB UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB UCD-SNMP-MIB::memBuffer.0 = INTEGER: 188772 kB UCD-SNMP-MIB::memCached.0 = INTEGER: 6685188 kB UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0) UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: UCD-SNMP-MIB::laIndex.1 = INTEGER: 1 UCD-SNMP-MIB::laIndex.2 = INTEGER: 2 UCD-SNMP-MIB::laIndex.3 = INTEGER: 3 UCD-SNMP-MIB::laNames.1 = STRING: Load-1 UCD-SNMP-MIB::laNames.2 = STRING: Load-5 UCD-SNMP-MIB::laNames.3 = STRING: Load-15 UCD-SNMP-MIB::laLoad.1 = STRING: 3.97 UCD-SNMP-MIB::laLoad.2 = STRING: 4.51 UCD-SNMP-MIB::laLoad.3 = STRING: 4.35 UCD-SNMP-MIB::laConfig.1 = STRING: 12.00 UCD-SNMP-MIB::laConfig.2 = STRING: 12.00 UCD-SNMP-MIB::laConfig.3 = STRING: 12.00 UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 397 UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 451 UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 434 UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 3.970000 UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 4.510000 UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 4.350000 ... 

这发生在具有相同configuration的3台不同的服务器上,而且在日志或snmpdconfiguration中找不到任何可能表明存在问题的内容。

任何想法可能是什么,或者我可以看看更多?

Snmpbulkwalk启动内部服务器重复遍历mib树。 服务器不作出反应,直到它收回“max-repetitions”数量的variables或到达mib树的末尾。 检索一些variables可能需要宝贵的时间。

重要注意事项:snmpwalk正好穿过请求的子树,但由于上述行为,snmpbulkwalk可能会检索到其他variables(达到子树结束之后)。 因此,它可能会绊倒snmpwalk永远不能触及的这些附加variables。

尝试减lesssnmpbulkwalk对应于“max-repetitions”和/或增加超时选项的选项。