Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 12

How does NPM interpret data from a SNMP Table and display it in a UNDP chart?

Jump to solution


I am trying to understand how NPM interprets data collected via a SNMP Table that is polled via UNDP.  In my case the device polled is polling statistics from other devices.  These devices are not always up and so there are cases when a NPM poll will return different nodes, and in a different order, than previous polls.  My question is, if I graph these statistics on a UNDP multiple node resource, how does NPM know which statistics go with which devices when they might be in a different order during different polls?  In my case there is another row in the table that returns the name of a node, but when I configure the SolarWinds resources it does not ask me for this information, so I assume it thinks the same row of data from the SNMP table is always for the same node.

thanks a lot!

0 Kudos
1 Solution

It uses the label you assigned to the table poller when you created it to graph the data together, otherwise it uses a rowid, which is normally the last number of the OID.

View solution in original post

6 Replies

It uses the label you assigned to the table poller when you created it to graph the data together, otherwise it uses a rowid, which is normally the last number of the OID.

View solution in original post

Level 12

Thank you RichardLetts.  That was what I feared.  I am surprised this is what is done because I have heard that it is not uncommon to use a SNMP table in this fashion.  However I will create a feature request for a more robust implementation and update this post.  thanks again.

I'm not following what is the issue with Solarwinds here. What exactly are you trying to poll (what is the MIB table, please give the OIDs)

I suspect you have a badly designed MIB, which no amount of programming can overcome.

As an example if you look at the apstatus data reported by Aruba wireless controllers they report the information they have polled from this access points.

The Aurba MIB for the table includes a column that is the name of the AP <<-- use this as the label for the poller

Therefore, even if the numbers of APs connected changes then the name can be used as a label to associate data with the correct AP.

An example of a badly designed MIB is the Power over Ethernet mib -- the index in that table is a pair of integers representing the power supplying equipment, and the number of the interface. There is no data available in that table (or other POE MIB tables)  that tells a program the ifIndex, or ifName, so it can't definitively and explicitly match the POE data with the actual interface data using ONLY data returned in SNMP replies.

0 Kudos
Level 12


Thanks for the response.  I think there is some miscommunication going on.  The MIB table I am referring to does have a column for device name in the table, but the devices might not always be in the table in the same order, depending on when those devices respond to the device I am polling.  

Where do you specify the column name?  I don't see that option in UNDP, but I cannot look ay my configuration for this UNDP all the time.  I am trying to work with some of the data I have collected from this device outside of SolarWinds because SolarWinds report writer is so limited.  How can I see what the column name is inside the DB directly?  I can see the data, and I can see the name returned from the Poll (both in CustomPollerStatistics_Detail) that goes wih that data, but I can't figure out the key inside the DB that puts those 2 pieces of information together.


0 Kudos

I think the problem is that you have not setup your Universal device poller settings correctly.

Can you post screenshots of how you setup your pollers, customer poller table viewer, and results of your SQL query?

Which MIB table? what is the OID?

Have you used the 'label' option in the universal device poller to say which column contains the label for the row?




this is what this data looks like in the WEB UI; I was lazy and didn't use enumeration for the poller type and map the values onto up/down, etc


here is a query to gather data from the labels and status:

SELECT  nodeid,CPL.label, CPS.Status

FROM CustomPollerStatus CPS

INNER JOIN CustomPollerAssignment CPA

ON CPS.CustomPollerAssignmentID = CPA.CustomPollerAssignmentID 

Inner Join CustomPollerLabels CPL

on CPL.CustomPollerAssignmentID=CPA.CustomPollerAssignmentID 

and CPL.rowid=CPS.rowid

inner join CustomPollers

ON CPA.CustomPollerID = CustomPollers.CustomPollerID

and CustomPollers.UniqueName = 'wlanAPStatus'

where label like '%RJL%'


The rowid is something horrible and not human readable.

Level 15

I'm looking into this and will get back to you.

0 Kudos