Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       snmp_config - handling of Net-SNMP configuration	files

       The  Net-SNMP package uses various configuration	files to configure its
       applications.  This manual page merely describes	the overall nature  of
       them, so	that the other manual pages don't have to.

       First  off,  there  are numerous	places that configuration files	can be
       found and read from.  By	default, the applications look for  configura-
       tion   files  in	 the  following	 4  directories,  in  order:  /usr/lo-
       cal/etc/snmp,	/usr/local/share/snmp,	  /usr/local/lib/snmp,	   and
       $HOME/.snmp.   In  each	of  these  directories,	 it  looks  for	 files
       snmp.conf,  snmpd.conf  and/or  snmptrapd.conf,	as  well  as  snmp.lo-
       cal.conf,  snmpd.local.conf  and/or  snmptrapd.local.conf. *.local.conf
       are always read last. In	this manner, there are 8 default places	a con-
       figuration file can exist for any given configuration file type.

       Additionally,  the  above default search	path can be overridden by set-
       ting the	environment variable SNMPCONFPATH to a colon-separated list of
       directories  to search for.  The	path for the persistent	data should be
       included	when running applications that use persistent storage, such as

       Applications  will read persistent configuration	files in the following
       order of	preference:

	      file in SNMP_PERSISTENT_FILE environment variable
	      directories in SNMPCONFPATH environment variable
	      directory	defined	by persistentDir snmp.conf variable
	      directory	in SNMP_PERSISTENT_DIR environment variable
	      default /var/net-snmp directory

       Finally,	applications will write	persistent configuration files in  the
       following order of preference:

	      file in SNMP_PERSISTENT_FILE environment variable
	      directory	defined	by persistentDir snmp.conf variable
	      directory	in SNMP_PERSISTENT_DIR environment variable
	      default /var/net-snmp directory

       Note:   When  using SNMP_PERSISTENT_FILE, the filename should match the
       application name.  For example, /var/net-snmp/snmpd.conf.

       Each application	may use	multiple configuration files, which will  con-
       figure various different	aspects	of the application.  For instance, the
       SNMP agent (snmpd) knows	how to understand configuration	directives  in
       both  the  snmpd.conf  and the snmp.conf	files.	In fact, most applica-
       tions understand	how to read  the  contents  of	the  snmp.conf	files.
       Note, however, that configuration directives understood in one file may
       not be understood in another file.  For further information,  read  the
       associated  manual  page	with each configuration	file type.  Also, most
       of the applications support a -H	switch on the command line  that  will
       list  the  configuration	 files	it will	look for and the directives in
       each one	that it	understands.

       The snmp.conf configuration file	is intended to be a application	 suite
       wide  configuration  file  that supports	directives that	are useful for
       controlling the fundamental nature of all  of  the  SNMP	 applications,
       such as how they	all manipulate and parse the textual SNMP MIB files.

       It's  possible  to  switch  in mid-file the configuration type that the
       parser is supposed to be	reading.  Since	 that  sentence	 doesn't  make
       much  sense,  lets  give	you an example:	say that you wanted to turn on
       packet dumping output for the agent by default, but you didn't want  to
       do  that	for the	rest of	the applications (ie, snmpget, snmpwalk, ...).
       Normally	to enable packet dumping in the	configuration file you'd  need
       to put a	line like:

	      dumpPacket true

       into the	snmp.conf file.	 But, this would turn it on for	all of the ap-
       plications.  So,	instead, you can put the same line in  the  snmpd.conf
       file so that it only applies to the snmpd daemon.  However, you need to
       tell the	parser to expect this line.  You do this by putting a  special
       type  specification token inside	a [] set.  In other words, inside your
       snmpd.conf file you could put the above snmp.conf directive by adding a
       line like so:

	      [snmp] dumpPacket	true

       This  tells  the	 parser	to parse the above line	as if it were inside a
       snmp.conf file instead of an snmpd.conf file.  If you want to  parse  a
       bunch  of  lines	 rather	 than  just  one then you can make the context
       switch apply to the remainder of	the file or  until  the	 next  context
       switch directive	by putting the special token on	a line by itself:

	      #	make this file handle snmp.conf	tokens:
	      dumpPacket true
	      logTimestamp true
	      #	return to our original snmpd.conf tokens:
	      rocommunity mypublic

       The  same  approach  can	 be used to set	configuration directives for a
       particular client application (or group of applications).  For example,
       any  program  that uses the 'snmp_parse_args()' call to handle command-
       line arguments (including the standard command-line  tools  shipped  as
       part  of	the Net-SNMP distributions) will automatically read the	config
       file 'snmpapp.conf'.  To	set library-level settings for these  applica-
       tions  (but  not	 other more-specific tools), use configuration such as
       the following:

	      [snmp] defCommunity myCommunity

       for a single directive, or

	      #	make this file handle snmp.conf	tokens:
	      defCommunity myCommunity
	      defVersion   2c
	      #	return to our original snmpapp.conf tokens:

       for multiple settings.  Similarly for any other application  token  (as
       passed to init_snmp()).

       Any  lines  beginning with the character	'#' in the configuration files
       are treated as a	comment	and are	not parsed.

       It is possible to include other configuration files for processing dur-
       ing normal configuration	file processing.:

	      #	include	site specific config
	      includeFile site.conf

       This will load the specified configuration file.	The
       path to file must be either absolute, starting with '/',
       or relative. The	relative path is then relative to the directory
       where the parent	file with 'includeFile'	directive resides.

       The included file name does not need to have '.conf' suffix.

	      #	include	a all *.conf files in a	directory
	      includeDir /etc/snmp/config.d

       This will search	specified directory for	all files with '.conf'
       suffix and process them as if they were included	using includeFile
       directive. The configuration files are not processed in any particular

       The specified directory must be absolute	directory path.

       Information  about  writing C code that makes use of this system	in ei-
       ther the	agent's	MIB modules or in applications can  be	found  in  the
       netsnmp_config_api(3) manual page.

       snmpconf(1), netsnmp_config_api(3), snmp.conf(5), snmpd.conf(5)

V5.7.3				  08 Mar 2010			SNMP_CONFIG(5)


Want to link to this manual page? Use this URL:

home | help