[Nagiosplug-devel] SNMP community in host configuration

Patrick Proy nagios at proy.org
Sun Dec 19 07:58:01 CET 2004


> Yes i am willing to test it ;-)
> --
> Benoit Mortier

OK, so here it is ! :-)

Maybe this thread should now be nagios-devel ML but it started here... And
it's only for test now

How to patch : 
 - it work with the CVS version of 19 Dec 2004 
 - in the "nagios-cvs" directory : "patch -p0 < patch_nag_snmp.patch"

Note : only works with template based config files.

I tested it on Linux only for now, but as nothing is platform specific, it
should be OK.
Here are the modified files (if a new CVS version is out) : 
- common/objects.c base/config.c base/nagios.c base/utils.c include/common.h
include/objects.h include/nagios.h.in xdata/xodtemplate.c
xdata/xodtemplate.h  


What it does :

1) SNMP for each host

You can put snmp information in three ways : 
- In the host definition :
	snmp_version <int>    # stores snmp version
	snmp_login <string>   # stores snmp login (for v3)
	snmp_pass  <string>   # stores snmp password for v3 or community for
v1
None of them are compulsory of course
- In the host template (will then only overwrite what's not in host
definition)
	Same syntax

- In the nagios.cfg file : 
	snmp_login=1,<comunity>,<network>/<mask>
	snmp_login=3,<login>,<pass>,<network>/<mask>
	
	This is generic snmp login for networks : it will be put in the host
snmp info if the host hasn't got any, and if it's address matches the
network/mask definition. Mask with best precision will be chosen first.
	Example : 
	snmp_login=1,private,10.100.0.0/16
	snmp_login=3,login1,pass1,10.100.0.3/32

	This means : 
	- on the 10.100.0.0/16 network : v1, private
	- for the 10.100.0.3 host : v3 : login1, pass1
	
	10.100.3.45 : will get v1, private
	10.100.0.3 : will get v3, login1, pass1

- The information is available as macro : 
	- $SNMPVERSION$
	- $SNMPLOGIN$
	- $SNMPPASS$
	

2) user variables for host
	
- Each host can have up to 10 user variables (you can put more or less, just
by modifying a number in the code), specified in its definition : 
	hostuser<n>	<string>
	
	example : 
	hostuser3	SomeInformation

- Of course, host templates can have hostuser<n> too. (will be put in host
definition is the host doesn't have the hostuser<n> already).

- Available as macro : 
	$HOSTUSER<n>$

TODO : 
- I forgot snmp v2c : maybe 2 will be okay but it would be cleaner to have
"2c".
- Hostuser are from 0->9..., maybe it would be cleaner to put 1->10.


Please test it and give me feedback !


Patrick
nagios AT proy.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_nag_snmp.patch
Type: application/octet-stream
Size: 29602 bytes
Desc: not available
URL: <http://nagios-plugins.org/archive/devel/attachments/20041219/88b3b094/attachment.obj>


More information about the Devel mailing list