2016-03-10 39 views
-1

我无法使check_snmp插件连接并返回值。我正在运行CentOS7,Nagios 4.0.8,check_snmp 2.0.3。虽然可以从命令行snmpget和snmpwalk,但check_snmp失败。下面是一些例子...HP Procurve上的Nagios SNMP v3 2910

SNMPGET:

# snmpget -v 3 -u myuser -x aes -X mypasswd -a md5 -A mypasswd -c Public -l AuthPriv 111.222.333.111 sysUpTime.0 

... ...回报

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (10475998) 1 day, 5:05:59.98 

snmpwalk的:

# snmpwalk -v 3 -u myuser -x aes -X mypasswd -a md5 -A mypasswd -c Public -l AuthPriv 111.222.333.111 sysUptime 

...返回...

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (10473493) 1 day, 5:06:10.93 

check_snmp:

/usr/lib64/nagios/plugins/check_snmp -H 111.222.333.111 -o sysUpTime.0 -P 3 -l AuthPriv -U myuser -A mypasswd -a md5 -X mypasswd -x aes 

... ...回报

External command error: Error in packet 
Reason: authorizationError (access denied to that object) 
Failed object: DISMAN-EVENT-MIB::sysUpTimeInstance 

当我和冗长上运行check_snmp,我得到...

/usr/bin/snmpget -Le -t 1 -r 5 -m ALL -v 3 [authpriv] 156.128.2.250:161 sysUpTime.0 

check_snmp显然不是构造函数g带有传递给它的参数的snmpget命令。我为什么不知所措。

回答

0

语法与check_snmp sec级别稍有不同。尝试:

-L authPriv 

代替:

-l AuthPriv 

您可以通过调用插件的帮助与-h证实了这一点:

./check_snmp -h 
check_snmp v2.0.3 (nagios-plugins 2.0.3) 
... 
-L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv] 
... 
+0

愚蠢的语法!他们使用不同的ARG标签只是为了惹我们你不是吗? ;)那就是诀窍。 – MrCleanX

+0

是的,我真的不明白为什么它是这样的。另外,许多snpm v3脚本都会从提供的参数中找到答案 – Bruno9779