dwww Home | Manual pages | Find package

SNMP_CONFIG(5)                     Net-SNMP                     SNMP_CONFIG(5)

NAME
       snmp_config - handling of Net-SNMP configuration files

DESCRIPTION
       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.

DIRECTORIES SEARCHED
       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: /etc/snmp,
       /usr/share/snmp, /usr/lib/x86_64-linux-gnu/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.local.conf,  snmpd.local.conf
       and/or snmptrapd.local.conf. *.local.conf are always read last. In this
       manner,  there  are 8 default places a configuration 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
       snmpd.

       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/lib/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/lib/snmp directory

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

CONFIGURATION FILE TYPES
       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.

SWITCHING CONFIGURATION TYPES IN MID-FILE
       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:
              [snmp]
              dumpPacket true
              logTimestamp true
              # return to our original snmpd.conf tokens:
              [snmpd]
              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:
              [snmp]
              defCommunity myCommunity
              defVersion   2c
              # return to our original snmpapp.conf tokens:
              [snmpapp]

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

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

INCLUDING OTHER CONFIGURATION FILES
       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
       order.

       The specified directory must be absolute directory path.

API INTERFACE
       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.

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

V5.9.4.pre2                       08 Mar 2010                   SNMP_CONFIG(5)

Generated by dwww version 1.16 on Tue Dec 16 16:41:54 CET 2025.