9.76.6 SNMP Collection Agents UDR Type Structure

When an SNMP profile is saved, a UDR type is created to reflect the hierarchical structure of the loaded MIBs. These structures are populated by the SNMP Request agent from the SNMP responses it receives from requested network elements. Only fields that are selected in the agent configuration will be populated. The generated hierarchical structure can be viewed in the UDR browser under a folder called snmp.

The UDR structure will be wrapped in a UDR called SampleUDR. Apart from the generated structure, the SampleUDR also holds an instance of a SampleMetaData UDR, holding meta data about the performed request. There is also a special kind of SampleUDR called FlatSampleUDR used for unresolved requests.

The SNMP Trap agent uses its own static UDR type called SnmpTrapUDR. There is also a special static UDR called FlatSnmpUDR used for unresolved triggered requests.

The SNMP Request agent also accepts input in the form of SnmpRequestUDR. Such input will trigger the agent to produce a request to the specified target.

Output UDRs

SampleUDR

The type of the input generated for responses that are mapped to the generated UDR structure. The SampleUDR has two fields:

FieldDescription

metadata (SampleMetaData)

Meta information associated with the request

FlatSampleUDR

A special kind of SampleUDR used in responses to unresolved requests. I.e. requests triggered by an SnmpRequestUDR with the field unresolved set to true. The fields are the same as for a SampleUDR, but the data field is now a flat structure:

FieldDescription

data (FlatSampleData)

A flat, unresolved OID -> Value mapping 

metadata (SampleMetaData)

Meta information associated with the request

SampleData

Contains data of a received SNMP response. For resolved requests, this will be the generated UDR structure, compiled from the MIB files. The fields selected for polling in the SNMP Request agent are populated, unless the corresponding request times out or fails. 

FlatSampleData

Contains SNMP response data for unresolved requests. Available fields are:

FieldDescription

isScalar (boolean)

Flag indicating if the value is a scalar field value or a map structure.

oid (string)

The OID string. For scalar data, it's the full OID pointing to the scalar value. For tree data, it's the root of the flattened tree.

oidFieldMap (map<string.any>)A map that contains the OIDs and values for them.
value (any)The scalar value or a map of scalar values.

If isScalar is false, it means the data in field value is a map representing a flattened tree structure. Each key - value pair in the map represents a node in the tree where key is an OID string and value is the scalar value.

SampleMetaData

Contains meta information for a request/response. Available fields are:

FieldDescription

timestamp (long)

The timestamp when the response was completely received or timed out by the collection agent. The timestamp is specific to the network element.

agent (string)

The name of the collection agent that received the response.
context (any)The context of the meta data.
pollingIntervalStartedTimestamp (long)The time when the polling interval started.
pollingStartedTimestamp (long)The time when the polling started. The timestamp is specific to the network element.
remotehost (string)The address of the remote, polled host.
remoteport (int)The port of the remote, polled host.
community (string)The community string used in the request.
samplestate (int)State of the sample. 0 = Complete, 1 = Incomplete (no or partial result)

SnmpTrapUDR

Contains data from a received SNMP trap, received by the SNMP Trap agent. Available fields are:

FieldDescription
trapSource (string)
The address or the remote host sending the trap.
receiveTime (long)

The timestamp when the trap was received by the agent.

sysUpTime (string)
Value of sysUpTime.0 as of RFC3418.
trapOid (string)
Value of snmpTrapOID.0 as of RFC3418.
trapName (string)
The name of the trap, resolved from loaded MIB data.
isGeneric (boolean)
Flag telling if the trap OID is a sub OID of snmpTraps as specified in RFC3418.
pduType (string)
The type of the SNMP PDU as a string.
oidToName (map<string,string>)
A map of all OIDs in this trap to their resolved name from the MIB data.
oidToValue (map<string,string>)
A map of all OIDs in this trap to their values.

Input UDRs

SnmpRequestUDR

Routed as input to an SNMP Request agent to trigger it to perform a request for a specific OID to a specific target. Their are two kinds of triggered requests - resolved and unresolved. Resolved requests are mapped to the generated UDR structure of the connected SNMP profile. Unresolved requests are simple OID - Value mappings. Unresolved requests are also divided into scalar and tree requests. A scalar request retrieves a single scalar value while a tree requests retrieves an entire MIB sub tree, in the form of a flattened OID - Value map. If the Network Element is not specified in the CSV file, there are also fields available in this UDR for initiating a request.

Available fields are:

FieldDescription
unresolved (boolean)

Flag controlling if the request is unresolved or not.

tree (boolean)
Flag controlling if the request is a sub tree request or not. Only valid if unresolved is true.
community (string)What community to use for the request.
baseOid (string)

Base part of the OID to request.

This field cannot be used with oidList.

instanceOid (string)

Instance part of the OID to request.

This field cannot be used with oidList.

oidList (list<OidUDR>)List of OIDs if you want to request several at the same time.
remotehost (string)Address of host to send request to.
remoteport (int)Port of host to send request to.
Fields for initiating requests
authPassword (string)
authProto (int)
context (any)
contextEngineID (string)
contextName (string)
description (string)
privPassword (string)
privProto (int)
retries (int)
timeout (int)
user (string)
version (int)

OidUDR

If you want to request a list of OIDs in the SNMPRequestUDR, this UDR is used to specify the basOid and instanceOid fields for all the OIDs in the list.

FieldDescription

baseOid (string)

Base part of the OID to request.

instanceOid (string)

Instance part of the OID to request.