The 'Generic SNMP' Plugin Monitor allows monitoring/testing of OID values against any elements within up.time (not just netSNMP or Network Devices).
The following fields in the plug-in handle the details around the SNMP version, and appropriate credentials for the different SNMP versions. The correct choices for these fields can typically be found in the device's web admin panel or the vendor's documentation.
After supplying the SNMP version/credentials, we need to decide what 'SNMP action' the Monitor will attempt to make against the Element. This choice depends on whether we are trying to GET a single value or OID on the device (ie. SysDescr ), or looking to WALK an entire column in an SNMP Table Array ( ifSpeed column in the ifTable) and retrieve all the values. See the below Get/Walk sections for further explanation of what choice to make here, and examples for how to setup the plug-in.
The 'SNMP Data Type' field depends on what syntax or value that the OID is expected to return, and is used by the plug-in to handle whether we perform String or Integer type comparisons against the SNMP output.
Using the 'Generic SNMP' Plug-in Monitor for a 'snmp get' action will allow you to pull a single OID value into up.time. Unlike the 'SNMP Poller' Monitor, this OID value does not have to be explicitly defined within a MIB file. This allows you to monitor for 'Dynamic OIDs' that typically represent a single interface or drive on a device that isn't fully defined within the associated MIB files.
Here's an example of how to get the SysDescr OID and return that value to up.time as a string.
The 'SNMP Walk' action allows you to pull an entire column from an SNMP array Table, and perform a threshold comparison on each result in that column.
SNMP Table Index Filter: This field allows you to apply an optional regex filter against the SNMP Table Index, and only returns the results that match. Leave blank if you don't want to filter based on the 'SNMP Table Index OID'
Here's an example of how to walk the ifInErrors column of the ifTable and return the results matched to their ifDescr:
Here's an example of how to check the ifOperStatus column in the same ifTable but only return results for those that have a ifDescr of 'vlan':