check_snmp与snmpv3协议给“未知的报告消息”错误

我正在尝试添加一个nagios命令来使用snmpv3来监视打印机状态消息。 使用check_snmp命令时,出现以下错误:

外部命令错误:snmpget:未知报告消息

这里是我input的命令:

./check_snmp -P 3 -H <hostname> -L authPriv -U snmpuser -A snmppassword -X snmppassword -o 1.3.6.1.4.1.11.2.4.3.1.2.0 -C public -d "STRING:" -a MD5

auth密钥,私钥,用户名等的这些值在使用snmpwalk时都有效。 有人能告诉我这个错误信息是什么意思吗?

编辑:它看起来像check_snmp传递到snmpget时不采取我的v3凭据。 这是我的input与详细选项:

./check_snmp -H <hostname> -o 1.3.6.1.2.1.2.2.1.10.1 -C public -m ALL -P 3 -L authPriv -U snmpuser -a MD5 -A snmppassword -x DES -X snmppassword -v

这里是输出:

 /usr/bin/snmpget -t 1 -r 5 -m ALL -v 3 [authpriv] <hostname>:161 1.3.6.1.2.1.2.2.1.10.1 External command error: snmpget: Unknown Report message 

所以我想现在我的问题是:为什么不是check_snmp将所有的命令行选项传递给snmpget?

奇怪的是,它没有通过你的所有论据。 旧版本的nagios插件,也许?

幸运的是,您可能可以重新使用我刚才放在一起的东西来解决不同的问题。 check_snmp不遵守你的smnp.conf文件。

我写了一个check_snmp.pl脚本,其行为与check_snmp类似,并且与snmp v3一起使用,并使用snmp.conf文件中的值。 这里是简介:

http://cormander.com/2011/11/a-nagios-snmp-plugin-that-obeys-snmp-conf/

并直接链接到check_snmp.pl脚本:

http://cormander.com/wp-content/uploads/2011/11/check_snmp.pl_.txt

希望有人认为这有用。

我永远不会得到check_snmp使用版本3的SNMP。 为了解决我的问题,我基于下面的HP打印机SNMP检查示例创build了自己的插件:

http://www.koders.com/c/fid3CAA98A63980B5952800E7C72CDDE8E2BAD3A0B9.aspx