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 setting
       the  environment  variable SNMPCONFPATH to a colon-separated list of di-
       rectories to search for.  The path for the persistent data should be in-
       cluded 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 applications
       understand  how to read the contents of the snmp.conf files.  Note, how-
       ever, that configuration directives understood in one file  may  not  be
       understood  in  another file.  For further information, read the associ-
       ated 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  di-
       rective 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 par-
       ticular 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 'sn-
       mpapp.conf'.   To set library-level settings for these applications (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 either
       the  agent's  MIB  modules  or  in applications can be found in the net-
       snmp_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 Sat Oct 3 01:14:16 CEST 2026.