Datasources

SNMP Data Collection

The SNMP method will start by trying v3, then v2c, then v1 in that order. See Defining SNMP Credentials and Properties for more details.

Datasources based on the SNMP Data Collection method primarily use snmpget to access hosts/devices. In some cases where the device has a mulit-instance structure, Active Discovery will use snmpwalk (SNMP GETNEXT requests) to identify the Wildcard values for the instances.

Note: Some legacy hardware devices may work with the snmpwalk method and not snmpget, or vice-versa, making this default approach for multi-instance configuration problematic.

Following is an example of a multi-instance SNMP datasource for the fans on a router:

In the screenshot above, the Collector method is set to use SNMP.

Next, the Active Discovery section of the datasource uses SNMP for the AD method:

The Parameters configured above will walk the OIDs and return values identifying each fan instance as follows.

Names of Instances

Discovery Type is set to 'value', which defines how instances will be named.

  • Value means the value returned from each OID walked
  • Wildcard means the index of the OID walked
  • Lookup means the value returned from the Lookup OID (referencing another OID which contains the value of interest)

SNMP OID is set to .1.3.6.1.4.1.9.9.13.1.4.1.2, defining the OID for the root of the snmpwalk.

Suppose we perform an snmpwalk of this OID on a device and receive the following response:

1 => Fan 1
2 => Fan 2
3 => Fan 3
4 => Fan 4


The Active Discovery process will identify four instances with the following names and values:

Datapoints

The instance values resulting from Active Discovery are substituted in the datapoint OIDs using the ##WILDVALUE## token as shown below.

Datapoints

In our example, the DataSource retrieves datapoint values for each instance from the following SNMP OIDs:

  • .1.3.6.1.4.1.9.9.13.1.4.1.3.1
  • .1.3.6.1.4.1.9.9.13.1.4.1.3.2
  • .1.3.6.1.4.1.9.9.13.1.4.1.3.3
  • .1.3.6.1.4.1.9.9.13.1.4.1.3.4

Each instance will have a 'Status' value, which is used for the 'code' on the Fan Status graph as shown below: