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

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

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

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

这是我正在输入的命令:

./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

使用 snmpwalk 时,这些身份验证密钥、私钥、用户名等值均有效。有人能告诉我该错误消息的真正含义吗?

编辑:看起来 check_snmp 在传递给 snmpget 时没有接受我的 v3 凭据。这是我使用详细选项的输入:

./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?

答案1

奇怪的是它没有为你传递所有参数。也许是 nagios-plugins 的旧版本?

幸运的是,您可能可以重新使用我刚刚整理的可以解决不同问题的东西。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

希望有人觉得这有用。

答案2

我无法让 check_snmp 与 SNMP 版本 3 配合使用。为了解决我的问题,我根据以下 HP 打印机 SNMP 检查示例创建了自己的插件:

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

相关内容