Microsemi midspans not showing port wattage

validate.php: https://p.libren.ms/view/5d7ba10b
Discover log: https://p.libren.ms/view/dcf830ed
Poll log: https://p.libren.ms/view/93e99667

Steps to reproduce:

  • Add a new Microsemi PoE midspan device
  • Discovery the device
  • See that it only show power graphs for the main power supply and not for the individual ports

Microsemi devices used to show graphs for the wattage on each individual port. I deployed a new device and discovered that these graphs are no longer shown. I rediscovered and existing devices and its existing port graphs disappeared while LibreNMS was still getting data for the ports. The devices are providing the correct SNMP data but its not being shown in LibreNMS.

When running the discover script, the port data shows up in the SQL section:

SQL[SELECT * FROM sensors AS S, devices AS D WHERE S.sensor_class=? AND S.device_id = D.device_id AND D.device_id = ? AND S.poller_type = ? ["load",370,"snmp"] 0.5ms]

.*.4.1.74*.*.1 = 8
.*.4.1.74*.*.2 = 8
.*.4.1.74*.*.3 = 8
.*.4.1.74*.*.4 = 8
.*.4.1.74*.*.5 = 5
.*.4.1.74*.*.6 = 5
.*.4.1.74*.*.7 = 5
.*.4.1.74*.*.8 = 5
.*.4.1.74*.*.9 = 5
.*.4.1.74*.*.10 = 5
.*.4.1.74*.*.11 = 5
.*.4.1.74*.*.12 = 5

I’ve tried deleting and readding the device and that didn’t help. I don’t know when this started happening, I just noticed it today.

Is there any more information I give to help find the problem?

Hi @lfkeitel
Do you have POE graphs enabled in your config.php ? There is no POE in the polling logs as far as I can see.

Exactly, that’s what I’m trying to figure out. The discover script sees the power ports, but the poller doesn’t check them. This log (https://p.libren.ms/view/613ad8c2) is from another midspan of the same model and it’s properly polling for those ports. But if I were to rediscover it, those ports would disappear. I haven’t changed the configuration in a while. I never had to include or enable anything for the ports to appear before. Unless something has changed in the mean time.

Discovery occurs each night, so basically, I don’t really get the “rediscover it” issue.

We have automatic discovery disabled due to load issues. When a new device is added I manually rediscovery the device. When I do this on a midspan. The discovery script sees the power sensors but the poller script only checks voltage sensors. It’s like the knowledge of the devices having power sensors isn’t being saved to the database for later polls.

You have to run the discovery process with -h -v -d (don’t post it, it contains personal data) and analyse it to see if (and which) failure occurs. Depending on this, you should check the content of the ‘sensors’ table to see if the data is written and how. That should put you on tracks.

There aren’t any errors in the log. My DB schema is 2019_04_22_220000_update_route_table (147). I ran the select statement on the sensors table and the only one that comes back is the voltage sensor for the total device voltage. There’s aren’t any sensors for the port power. When I do the same select for a different midspan I get the power and voltage sensors.

How old is your last discovery of a working device ?
And how often do you upgrade your librenms ? every night ? every month for every stable version ?

Discovery timestamp of latest working device is 2018-03-12 17:42:39. We’re on the nightly release. I need to switch to stable.

That’s a huuuuuge amount of pull requests to review … Can have changed anytime between March 2018 and Dec 2019 :slight_smile:
Could you open an issue in github and provide the requested data? I’ll have a quick look at it (I did update the POE code last year so I may be the one who broke it for your device, by being a littler stricter than it was previously).

I know it’s a long time. :frowning: If I was more familiar with the code base I’d look at it myself but I don’t even know where to start. I’ll open an issue. Which pieces do you want? The same links I’ve already posted, description of behavior?

You have all the requirements in the issue opening. The most important for this case is the snmpwalk with the proper options, as asked.

Issue created https://github.com/librenms/librenms/issues/10952.