1

我最近在我的一台服务器上连接了一个 APC 备用电池,我在服务器上安装了 powerchute 代理,并验证我可以通过代理远程访问代理和 APC。

我正在尝试让我的 Cacti 安装来检索我的 APC 数据,并且一切正常,只是它返回“来自 SNMP 的结果无效。部分结果:U”,我怀疑这与我遇到的 SNMP 问题有关。如何修复它以使 MIB 与实例编号一起使用?

从命令行我可以成功获取其他 OID。

----WORKS----
$ snmpget -v1 -cpublic 192.168.1.2 .1.3.6.1.2.1.1.3.0
iso.3.6.1.2.1.1.3.0 = Timeticks: (140629508) 16 days, 6:38:15.08

只要不添加最终实例编号,我就可以从命令行对 powerchute MIB 进行 snmpwalk。添加实例编号不会返回任何内容。

----WORKS----
$ snmpwalk -v1 -cpublic 192.168.1.2 .1.3.6.1.4.1.318.1.1.1.2.2.3
iso.3.6.1.4.1.318.1.1.1.2.2.3.0 = Timeticks: (72000) 0:12:00.00

----FAILS----
$ snmpwalk -v1 -cpublic 192.168.1.2 .1.3.6.1.4.1.318.1.1.1.2.2.3.0
$

但是,无论有没有实例号,我都无法获取任何 powerchute OID。

----FAILS----
$ snmpget -v1 -cpublic 192.168.1.2 .1.3.6.1.4.1.318.1.1.1.2.2.3.0
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: iso.3.6.1.4.1.318.1.1.1.2.2.3.0

----FAILS----
$ snmpget -v1 -cpublic 192.168.1.2 .1.3.6.1.4.1.318.1.1.1.2.2.3
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: iso.3.6.1.4.1.318.1.1.1.2.2.3
4

1 回答 1

1

snmpwalk返回您因此无法返回的 OID的事实snmpget表明您正在访问的设备的 SNMP 代理中存在错误。

令人沮丧的是,这种情况并不少见,即使在企业设备中也是如此。我在 Cisco 和 Nortel 电信设备中遇到了 SNMP 代理错误,成本高达数十万美元。

你确实有一个变通办法。考虑将 BASH 脚本写入snmpwalk所需的值并抓取结果。并告诉 Cacti 使用您的自定义脚本,而不是直接通过 SNMP 访问。

于 2013-09-05T13:38:12.957 回答