【问题标题】:Nagios SNMP v3 on HP Procurve 2910HP Procurve 2910 上的 Nagios SNMP v3
【发布时间】:2016-03-10 21:47:44
【问题描述】:

我无法让 check_snmp 插件连接并返回值。我正在运行 CentOS7、Nagios 4.0.8、check_snmp 2.0.3。虽然可以从命令行 snmpget 和 snmpwalk,但 check_snmp 失败。这里有一些例子......

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 显然没有使用传递给它的参数构造 snmpget 命令。我不知道为什么。

【问题讨论】:

    标签: snmp nagios


    【解决方案1】:

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

    【讨论】:

    • 愚蠢的语法!!!他们使用不同的 arg 标签只是为了弄乱我们,不是吗? ;) 成功了。
    • 是的,我真的不明白为什么会这样。另外,许多 snpm v3 脚本从提供的参数中猜测 seclevel
    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多