SNMP community in host configuration

Patrick Proy nagios at proy.org
Tue Jan 11 15:16:07 CET 2005


Hi,

Did anybody test the patch ? 


Patrick

> Envoyé : mardi 21 décembre 2004 16:04
> À : 'nagios-devel'
> Objet : [Nagios-devel] RE: SNMP community in host configuration
> 
> Hi,
> 
> I updated my patch. Works with today's CVS : "patch -p0 < 
> patch_nag_snmp_2004.12.21.patch" :
> 
> - added "snmp_community" in host/template definition, 
> accessed by $SNMPCOMMUNITY$ macro.
> 
> - Changed the "hostuser" macro in "hostmacro" : 
> 	- in host/template definition : "hostmacro<n>   SomeData"
> 	- In services : "$HOSTMACRO<n>$"
> 
> - In nagios.cfg, the option is now named "host_snmp_login", 
> same syntax. 
> 
> As usual, feedbacks are welcome !
> 
> Patrick
> nagios AT proy.org
>  
> > 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
> > 
> 



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt




More information about the Developers mailing list