Enable and interpret snmp trace in the domain log.
search cancel

Enable and interpret snmp trace in the domain log.

book

Article ID: 322908

calendar_today

Updated On: 06-14-2024

Products

VMware Smart Assurance

Issue/Introduction

Command to enable snmp trace for a domain and interpret the SNMP trace details in domain log.

Resolution

To start the trace, please use below command from BASEDIR of domain. In below example we are enabling SNMP Trace on sample instance known as "PORT-XXXXX"

./dmctl -s <domain-name> invoke ICIP_SNMPAccessorInterface::DEVSTAT-SNMP-Poller setTrace ICIM_UnitaryComputerSystem:: PORT-XXXXX TRUE

Now the snmp trace in domain log shows the snmp get request and get response packets:


Each snmp PDU contains the following :

  • version( snmpV1/v2/v3)
  • community string
  • PDU Type(getRequest or getResponse)
  • request-id
  • error status
  • error index
  • Variable Bindings (name and value bindings)


The above can be matched with the part of the snmp trace file as below :
SNMP Message:

  • 0: packet ->
  • SEQUENCE (0x30), 471 bytes:
  • 4: version ->
  • INTEGER-32 (0x02), 1 bytes == 1 <v2c>
  • 7: community ->
  • OCTET-STRING (0x04), 5 bytes == "dd_ro"
  • 14: Get-request -> (0xa0), 457 bytes:
  • 18: request-id ->
  • INTEGER-32 (0x02), 4 bytes == 28152432
  • 24: error-status ->
  • INTEGER-32 (0x02), 1 bytes == 0 <noError>
  • 27: error-index ->
  • INTEGER-32 (0x02), 1 bytes == 0
  • 30: VarBindList ->
  • SEQUENCE (0x30), 441 bytes:
  • 34: VarBind -> SEQUENCE (0x30), 21 bytes:
  • 36: OBJ-ID (0x06), 17 bytes == ".1.3.6.1.4.1.9.9.719.1.16.6.1.4.57278"
  • 55: NULL (0x05), 0 bytes == Null

NOTES:

  • The name-value binding consists of the set of OIDs being polled for, in 'getRequest' and the values for the polled OIDs are consisted in the 'getResponse'.
  • The value in Getrequest PDU for each OID is NULL

Formation of each OID-

  • After getting the index value for any particular instance,the index value is appended to the OID and the value is polled .
  • For instance, if the OID for polling admin status of an interface is 1.3.6.1.2.1.2.2.1.8 and if the index value of one the instances of interface is 701,
  • the polled OID will be:
  • "1.3.6.1.2.1.2.2.1.8.701"

We can find the value returned for this OID in the getResponse packet:
The value can be between 0 to 7, which is enumerated as follows:

  • enum icim_adapter_status_e {
  • UNKNOWN, /* Status is unknown, e.g. not yet polled */
  • UP, /* Operating correctly */
  • DOWN, /* Operationally down */
  • TESTING, /* Being tested */
  • DORMANT, /* Dormant */
  • OTHER, /* Other unknown status */
  • DISABLED, /* Disabled */
  • NOTPRESENT /* Not presented */