supposed to use check_snmp plugin properly

Hi all,

wondering how I am supposed to use check_snmp plugin properly, but particularly with respect to the Director.

I know how to use check_snmp, I run my queries from a console and it works great. But when I have to use the director I am not achieving the results I am looking for. Let’s say I am using check_snmp plugin to check a temperature on a load of different hosts. I have the snmp external command in director. I make a service template called for example, host_temperature that has ‘snmp’ command as its command. Each of my hosts, despite being the same manufacturer does not have the desired temperature reading at the exact same OID.

Do I make a host template that has all the snmp fields (snmp_address, snmp_oid, snmp_crit, snmp_warn) then import that into each host I want to check the temperature on? I have tried this and the snmp vars show up for the host but not for the service host_temperature. It seems the var is not shared between the host and the service I have created. Does this make sense?

Or do I put the fields into the service template? Then they wont show up in the host so i can’t fill out the OIDs

here is what I see on one of the hosts (its the same if using $snmp_host$ or $host_address$)


Then I go to the host_temperature service and


But as you can see, the host knows the OID, the var, as seen in the first picture.

Bit confused and have spend many hours on this and not getting far. Am I not doimg this right? I defined all the vars in the Director, $snmp_address$, $snmp_oid$, $snmp_crit$, $snmp_warn$.

Solved by unic in post #9

you should remove the “$” at the vars. It should look like: vars.snmp_crit = “33” vars.snmp_oid = “.” vars.snmp_warn = “28.5” You service is not complete, there must be at least some pointer to the host vars. like vars.snmp_oid = “$host.vars.snmp_oid$” maybe it …