9.76.4 SNMP Request Agent


To poll the network, the SNMP Request agent periodically sends queries to the network elements in the network. These queries determine the behavior of the devices, for example, operational status, or the data in the MIB (Management Information Base) variables of the devices.

The polling configuration consists of the following parts:

  • Poll definitions, which define the data to retrieve, which is basically your target UDR. This is configured either in the agent's configuration, or in a separate SNMP OID profile.
  • Poll scope, consisting of the devices (network elements) to poll (input CSV file). This is configured in the agent's configuration.
  • Polling interval and other poll properties. This is configured in the SNMP Collection profile.

The SNMP Request agent produces user configured UDRs as a result of SNMP polling. For the user convenience the target UDR follows the hierarchical structure of MIB Object definitions. 

Automatic Polling Policy

The agent implements automatic polling policy. For example in case of SNMPv2C and SNMPv3 it will use Get-Bulk to retrieve the table data. In case of SNMPv1 it will use series of Get-Next requests as SNMPv1 does not support Get-Bulk requests. Note that the Polling Interval is global scope parameter which is configured in the SNMP Collection profile and applies to all Network Elements listed in CSV file.

Triggered Dynamic Requests

The agent also supports sending single targeted requests, triggered by sending it a special request UDR. Such single requests can be of type scalar to fetch a single value, or tree to fetch an entire sub tree (SNMP Walk). For scalar requests, the response can be in the form of the same hierarchical structure as for polling requests, or as a simple OID - Value mapping. For tree requests, the response is always a flattened structure in the form of a OID - Value map.

SNMP Object Pool 

The UDRs used by the SNMP Request agent are complex, so due to performance reasons the UDR objects produced by SNMP Request agents are cached in a pre-populated pool and are reused to avoid expensive object creation. By default, the size of this pool is set to 1.1 times the size of the workflows' queue size. You can override the size of the pool for SNMP request agent by using the system property mz.snmp.max_queued_pollings.

The following example sets the pool size to 10000:

Example

mz.snmp.max_queued_pollings=10000

Object pooling for the SNMP request agent can be turned off using the system property mz.snmp.disable_object_pooling, for example:

Example

mz.snmp.disable_object_pooling=true