Provided by: collectd-core_5.9.2.g-1ubuntu5_amd64 bug

NAME

       collectd-snmp - Documentation of collectd's "snmp plugin"

SYNOPSIS

         LoadPlugin snmp
         # ...
         <Plugin snmp>
           <Data "powerplus_voltge_input">
             Table false
             Type "voltage"
             TypeInstance "input_line1"
             Scale 0.1
             Values "SNMPv2-SMI::enterprises.6050.5.4.1.1.2.1"
           </Data>
           <Data "hr_users">
             Table false
             Type "users"
             Shift -1
             Values "HOST-RESOURCES-MIB::hrSystemNumUsers.0"
           </Data>
           <Data "std_traffic">
             Table true
             Type "if_octets"
             TypeInstanceOID "IF-MIB::ifDescr"
             #FilterOID "IF-MIB::ifOperStatus"
             #FilterValues "1", "2"
             Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
           </Data>

           <Host "some.switch.mydomain.org">
             Address "192.168.0.2"
             Version 1
             Community "community_string"
             Collect "std_traffic"
             Interval 120
             Timeout 10
             Retries 1
           </Host>
           <Host "some.server.mydomain.org">
             Address "192.168.0.42"
             Version 2
             Community "another_string"
             Collect "std_traffic" "hr_users"
           </Host>
           <Host "secure.router.mydomain.org">
             Address "192.168.0.7:165"
             Version 3
             SecurityLevel "authPriv"
             Username "cosmo"
             AuthProtocol "SHA"
             AuthPassphrase "setec_astronomy"
             PrivacyProtocol "AES"
             PrivacyPassphrase "too_many_secrets"
             Collect "std_traffic"
           </Host>
           <Host "some.ups.mydomain.org">
             Address "tcp:192.168.0.3"
             Version 1
             Community "more_communities"
             Collect "powerplus_voltge_input"
             Interval 300
             Timeout 5
             Retries 5
           </Host>
         </Plugin>

DESCRIPTION

       The "snmp plugin" queries other hosts using SNMP, the simple network management protocol, and translates
       the value it receives to collectd's internal format and dispatches them. Depending on the write plugins
       you have loaded they may be written to disk or submitted to another instance or whatever you configured.

       Because querying a host via SNMP may produce a timeout the "complex reads" polling method is used. The
       ReadThreads parameter in the main configuration influences the number of parallel polling jobs which can
       be undertaken. If you expect timeouts or some polling to take a long time, you should increase this
       parameter. Note that other plugins also use the same threads.

CONFIGURATION

       Since the aim of the "snmp plugin" is to provide a generic interface to SNMP, its configuration is not
       trivial and may take some time.

       Since the "Net-SNMP" library is used you can use all the environment variables that are interpreted by
       that package. See snmpcmd(1) for more details.

       There are two types of blocks that can be contained in the "<Plugin snmp>" block: Data and Host:

   The Data block
       The Data block defines a list of values or a table of values that are to be queried. The following
       options can be set:

       Type type
           collectd's  type  that  is  to be used, e. g. "if_octets" for interface traffic or "users" for a user
           count. The types are read from the TypesDB (see collectd.conf(5)), so you may want to check for which
           types are defined. See types.db(5) for a description of the format of this file.

       Table true|false
           Define if this is a single list of values or a table of values. The difference is the following:

           When Table is set to false, the OIDs given to Values (see below) are queried  using  the  "GET"  SNMP
           command  (see  snmpget(1)) and transmitted to collectd. One value list is dispatched and, eventually,
           one file will be written.

           When Table is set to true, the OIDs given to Values, TypeInstanceOID, PluginInstanceOID, HostOID  and
           FilterOID  (see  below) are queried using the "GETNEXT" SNMP command until the subtree is left. After
           all the lists (think: all columns of the table) have been read several values sets will be dispatches
           and, eventually, several files will be written. If you configure a Type (see above) which needs  more
           than  one  data  source  (for example "if_octets" which needs "rx" and "tx") you will need to specify
           more than one (two, in the example case) OIDs with the Values option. This has nothing to do with the
           Table setting.

           For  example,  if  you  want  to  query  the  number  of   users   on   a   system,   you   can   use
           "HOST-RESOURCES-MIB::hrSystemNumUsers.0".  This is one value and belongs to one value list, therefore
           Table must be set to false. Please note that, in this case, you have to include the  sequence  number
           (zero in this case) in the OID.

           Counter  example:  If you want to query the interface table provided by the "IF-MIB", e. g. the bytes
           transmitted. There are potentially many interfaces, so you will want to set Table  to  true.  Because
           the  "if_octets"  type needs two values, received and transmitted bytes, you need to specify two OIDs
           in the Values setting, in this case likely "IF-MIB::ifHCInOctets" and  "IF-MIB::ifHCOutOctets".  But,
           this is because of the Type setting, not the Table setting.

           Since  the  semantic of Instance and Values depends on this setting you need to set it before setting
           them. Doing vice versa will result in undefined behavior.

       Plugin Plugin
           Use Plugin as the plugin name of the values that are dispatched.  Defaults to "snmp".

       PluginInstance Instance
           Sets the plugin-instance of the values that are dispatched to Instance value.

           When Table is set to true and PluginInstanceOID is set then this option has no effect.

           Defaults to an empty string.

       TypeInstance Instance
           Sets the type-instance of the values that are dispatched to Instance value.

           When Table is set to true and TypeInstanceOID is set then this option has no effect.

           Defaults to an empty string.

       TypeInstanceOID OID
       PluginInstanceOID OID
       HostOID OID
           If Table is set to true, OID is interpreted as an SNMP-prefix that will  return  a  list  of  values.
           Those  values  are  then  used  as  the  actual  type-instance, plugin-instance or host of dispatched
           metrics. An example would be the "IF-MIB::ifDescr" subtree. variables(5) from the  SNMP  distribution
           describes  the  format  of OIDs. When option is set to empty string, then "SUBID" will be used as the
           value.

           Prefix may be set for values with use of  appropriate  TypeInstancePrefix,  PluginInstancePrefix  and
           HostPrefix options.

           When Table is set to false these options has no effect.

           Defaults: When no one of these options is configured explicitly, TypeInstanceOID defaults to an empty
           string.

       TypeInstancePrefix
       PluginInstancePrefix
       HostPrefix
           These  options  are  intented to be used together with TypeInstanceOID, PluginInstanceOID and HostOID
           respectively.

           If set, String is preprended to values received by querying the agent.

           When Table is set to false these options has no effect.

           The "UPS-MIB" is an example where you need this setting: It has voltages of the inlets,  outlets  and
           the  battery  of an UPS. However, it doesn't provide a descriptive column for these voltages. In this
           case having 1, 2, ... as instances is not enough, because the inlet voltages and outlet voltages  may
           both  have  the  subids  1,  2, ...  You  can  use  this setting to distinguish between the different
           voltages.

       Instance Instance
           Attention: this option exists for backwards compatibility only and will  be  removed  in  next  major
           release. Please use TypeInstance / TypeInstanceOID instead.

           The meaning of this setting depends on whether Table is set to true or false.

           If Table is set to true, option behaves as TypeInstanceOID.  If Table is set to false, option behaves
           as TypeInstance.

           Note what Table option must be set before setting Instance.

       InstancePrefix String
           Attention:  this  option  exists  for  backwards compatibility only and will be removed in next major
           release. Please use TypeInstancePrefix instead.

       Values OID [OID ...]
           Configures the values to be queried from the SNMP host. The meaning slightly changes with  the  Table
           setting. variables(5) from the SNMP distribution describes the format of OIDs.

           If  Table  is  set  to  true,  each  OID  must  be  the  prefix  of  all  the  values to query, e. g.
           "IF-MIB::ifInOctets" for all the  counters  of  incoming  traffic.  This  subtree  is  walked  (using
           "GETNEXT") until a value from outside the subtree is returned.

           If Table is set to false, each OID must be the OID of exactly one value, e. g. "IF-MIB::ifInOctets.3"
           for the third counter of incoming traffic.

       Scale Value
           The  gauge-values returned by the SNMP-agent are multiplied by Value.  This is useful when values are
           transferred as a fixed point real number. For example, thermometers may  transfer  243  but  actually
           mean  24.3, so you can specify a scale value of 0.1 to correct this. The default value is, of course,
           1.0.

           This value is not applied to counter-values.

       Shift Value
           Value is added to gauge-values returned by the SNMP-agent after they  have  been  multiplied  by  any
           Scale  value.  If,  for  example,  a  thermometer returns degrees Kelvin you could specify a shift of
           273.15 here to store values in degrees Celsius. The default value is, of course, 0.0.

           This value is not applied to counter-values.

       Ignore Value [, Value ...]
           The ignore values allows one to ignore TypeInstances based on their name and the  patterns  specified
           by the various values you've entered. The match is a glob-type shell matching.

           When Table is set to false then this option has no effect.

       InvertMatch true|false(default)
           The invertmatch value should be use in combination of the Ignore option.  It changes the behaviour of
           the  Ignore  option, from a blacklist behaviour when InvertMatch is set to false, to a whitelist when
           specified to true.

       FilterOID OID
       FilterValues Value [, Value ...]
       FilterIgnoreSelected true|false(default)
           When Table is set to true, these options allow to configure filtering based on MIB values.

           The FilterOID declares OID to fill table column with values.  The FilterValues declares  values  list
           to  do  match.  Whether  table  row  will be collected or ignored depends on the FilterIgnoreSelected
           setting.  As with other plugins that use the daemon's ignorelist functionality, a string that  starts
           and ends with a slash is interpreted as a regular expression.

           If no selection is configured at all, all table rows are selected.

           When Table is set to false then these options has no effect.

           See Table and /"IGNORELISTS" for details.

   The Host block
       The  Host  block  defines  which hosts to query, which SNMP community and version to use and which of the
       defined Data to query.

       The argument passed to the Host block is used as the hostname in the data stored by collectd.

       Address IP-Address|Hostname
           Set the address to connect to. Address may include transport specifier and/or port number.

       Version 1|2|3
           Set the SNMP version to use. When giving 2 version "2c" is actually used.

       Community Community
           Pass Community to the host. (Ignored for SNMPv3).

       Username Username
           Sets the Username to use for SNMPv3 security.

       SecurityLevel authPriv|authNoPriv|noAuthNoPriv
           Selects the security level for SNMPv3 security.

       Context Context
           Sets the Context for SNMPv3 security.

       AuthProtocol MD5|SHA
           Selects the authentication protocol for SNMPv3 security.

       AuthPassphrase Passphrase
           Sets the authentication passphrase for SNMPv3 security.

       PrivacyProtocol AES|DES
           Selects the privacy (encryption) protocol for SNMPv3 security.

       PrivacyPassphrase Passphrase
           Sets the privacy (encryption) passphrase for SNMPv3 security.

       Collect Data [Data ...]
           Defines which values to collect. Data refers to one of the Data block above. Since the config file is
           read top-down you need to define the data before using it here.

       Interval Seconds
           Collect data from this host every Seconds seconds. This option is meant for devices with not much CPU
           power, e. g. network equipment such as switches, embedded devices, rack monitoring systems and so on.
           Since the Step of generated RRD files depends on this setting it's wise to select a reasonable  value
           once and never change it.

       Timeout Seconds
           How long to wait for a response. The "Net-SNMP" library default is 1 second.

       Retries Integer
           The number of times that a query should be retried after the Timeout expires.  The "Net-SNMP" library
           default is 5.

SEE ALSO

       collectd(1), collectd.conf(5), snmpget(1), snmpgetnext(1), variables(5), unix(7)

AUTHORS

       Florian Forster <octo@collectd.org> Michael Pilat <mike@mikepilat.com>

5.9.0.git                                          2020-04-17                                   COLLECTD-SNMP(5)