All Apps and Add-ons

Cannot resolve Node Name for Custom MIBs

seanel
Path Finder

We are trying to monitor some datapower appliances using their provided MIB files.

I have already converted the mibs to python modules, and they load just fine (i.e. no errors in Splunk regarding loading them) so I presume both their location and naming is fine.

I can pull the data using a verbose oid such as .1.3.6.1.4.1.14685.3.1.5.0 for Used Memory but not if I use any of the following where drStatusMIB.py is the generated Python Module and DATAPOWER-STATUS-MIB is root module name in the MIB itself) :

 .iso.org.dod.internet.private.enterprises.datapower.dpManagement.dpStatus.dpStatusMemoryStatus.dpStatusMemoryStatusUsedMemory.0
dpStatusMemoryStatusUsedMemory.0
drStatusMIB::.iso.org.dod.internet.private.enterprises.datapower.dpManagement.dpStatus.dpStatusMemoryStatus.dpStatusMemoryStatusUsedMemory.0
DATAPOWER-STATUS-MIB::.iso.org.dod.internet.private.enterprises.datapower.dpManagement.dpStatus.dpStatusMemoryStatus.dpStatusMemoryStatusUsedMemory.0
drStatusMIB::dpStatusMemoryStatusUsedMemory.0
DATAPOWER-STATUS-MIB::dpStatusMemoryStatusUsedMemory.0

The error is:

index=_internal source=*splunkd.log* (log_level=ERROR OR log_level=CRIT OR log_level=FATAL) _raw="02-13-2015 16:44:39.304 +0100 ERROR ExecProcessor - message from \"python \"C:\\Program Files\\Splunk\\etc\\apps\\snmp_ta\\bin\\snmp.py\"\" Exception with getCmd to <server_name_removed>:161: NoSuchObjectError({'str': \"Can't resolve node name ::('dpStatusMemoryStatusUsage', '0') at <pysnmp.smi.view.MibViewController instance at 0x00000000024BEC88>\"}) snmp_stanza:snmp://nametest"

I'm out of ideas other than perhaps the module was just badly generated... but at a glance (its HUGE!) it seems good.

Tags (1)
0 Karma
1 Solution

Damien_Dallimor
Ultra Champion

Guessing a bit here as I know nothing about Datapower MIBs.

But from reading the MIB file , I see there are 2 MIB’s referenced :

DATAPOWER-CONFIG-MIB.mib
DATAPOWER-STATUS-MIB.mib

So I would ensure that you have both of these. And name them as above for consistency.

Then run :

smidump -f python DATAPOWER-STATUS-MIB.mib | libsmi2pysnmp > DATAPOWER-STATUS-MIB.py
smidump -f python DATAPOWER-CONFIG-MIB.mib | libsmi2pysnmp > DATAPOWER-CONFIG-MIB.py

Note : The smidump program will try to resolve the DATAPOWER-STATUS-MIB reference to DATAPOWER-CONFIG-MIB in order for smidump to process correctly (I think).

So ensure that DATAPOWER-CONFIG-MIB is discoverable by smidump. I think you can configure smidump paths in /etc/smi.conf

When smidump processes the MIB correctly with all dependencies resolved , then libsmi2pysnmp just converts the generated python into a format that is for pysnmp (the library my Mod Input uses under the hood).

alt text

View solution in original post

Damien_Dallimor
Ultra Champion

Guessing a bit here as I know nothing about Datapower MIBs.

But from reading the MIB file , I see there are 2 MIB’s referenced :

DATAPOWER-CONFIG-MIB.mib
DATAPOWER-STATUS-MIB.mib

So I would ensure that you have both of these. And name them as above for consistency.

Then run :

smidump -f python DATAPOWER-STATUS-MIB.mib | libsmi2pysnmp > DATAPOWER-STATUS-MIB.py
smidump -f python DATAPOWER-CONFIG-MIB.mib | libsmi2pysnmp > DATAPOWER-CONFIG-MIB.py

Note : The smidump program will try to resolve the DATAPOWER-STATUS-MIB reference to DATAPOWER-CONFIG-MIB in order for smidump to process correctly (I think).

So ensure that DATAPOWER-CONFIG-MIB is discoverable by smidump. I think you can configure smidump paths in /etc/smi.conf

When smidump processes the MIB correctly with all dependencies resolved , then libsmi2pysnmp just converts the generated python into a format that is for pysnmp (the library my Mod Input uses under the hood).

alt text

View solution in original post

seanel
Path Finder

Hi Damien

Many thanks for your excellent support in this matter. editing smi.conf to make the mibs discoverable when compiling into python was the key. Now running great and getting lots of nice data! Now I just need to work out the reponse handlers to format the responses a bit nicer 🙂

Thanks again, we really appreciate it!

arunprasadlv
Explorer

Hi Seanel ,

I am also trying to monitor the datapower appliances using this app.

I could not make the smidump work on centos 6.4 , but i was able to generate the datapower MIB into py module using the following link -

https://www.ibr.cs.tu-bs.de/projects/libsmi/tools/

I am not seeing any events or errors in the splunk .
Please let me know how can i troubleshoot this problem.

Also , telnet from splunk server to datapower gives me connection refused on the port 161.

Regards,
Arun

Regards,
Arun

0 Karma
Register for .conf21 Now! Go Vegas or Go Virtual!

How will you .conf21? You decide! Go in-person in Las Vegas, 10/18-10/21, or go online with .conf21 Virtual, 10/19-10/20.