1

I posted this on SuperUser but I realized this question is probably more relevant here.

I am trying to check uptime via Nagios's check_snmp plugin on a SNMP version 3 enabled UPS.

I'm able to do an snmpget call specifying version 3 with the proper credentials and get the proper response back from the UPS, so I know it's set up correctly there.

The nagios check_snmp plugin documentation shows it has options supporting v3.

However within Nagios configuration files, the only examples I find show "-C public"

I can't find within the nagios configuration files where to specify version 3 to the check_snmp plugin, whether it's in the host configuration file, the commands.cfg, or somewhere else entirely.

I've tried replacing "-C public" with the version 3 authentication data in my host config .cfg but no luck there so far.

  • 1
    Have you seen the man page? https://www.monitoring-plugins.org/doc/man/check_snmp.html If you look there are several snmpv3 related options. – Zoredache May 19 '20 at 16:27
  • I'd seen that but clicked your link and looking at it again I realized the cases are different! I put answer below. – DuckReconMajor May 19 '20 at 19:59

1 Answers1

3

Looking at the man page again as Zoredache suggested I realized the case of options flags are different between snmpget and check_snmp for username and authPriv security level

User is lowercase 'u' for snmpget and uppercase 'U' for check_snmp, security level is 'l' and 'L' for snmpget/check_snmp respectively.

Also protocol specification goes form -v3 to --protocol=3

in the objects/hostservice.cfg file I changed

check_command    check_snmp!-C public -o sysUpTime.0

to

check_command    check_snmp!--protocol=3 -U [user] -L [noAuthNoPriv|authNoPriv|authPriv] -a [MD5|SHA] -A [password] -x [DES|AES] -X [password] -o sysUpTime.0

and I get a proper response now