In observium a 3 phase APC8864 will show information about all three phases of power. With librenms it is showing values with incorrect labels and is missing information
It looks like the discovery was a little messed up for versions of software that weren’t APC AOS v2 or v3. I was able to add some sections to the different apc.inc.php files for voltage and current. I will mess with the power, apparent power, and power factor after I get the voltage and current straight.
How am I supposed to get the alerting and graphing thresholds correct for polling/discovery? The phase to phase voltage shows correctly but it is triggering because it says it is higher than 2 volts.
I have another question. I was able to get the power graphs how I wanted them but I had to modify apc.yaml instead of an individual apc.inc.php file in the power directory.
What is the best way to implement this?
Concerning your 2nd question, basically, the most difficult part is to confirm that your patch for one device does not break other devices.
Best way is to open a PR in github with your changes, and from there, any other contributor will be able to see your change, give feedback, test it in his environnement etc etc.
How do I do a PR?
My running version of libreNMS is forked. But just to see about getting this added to the main code… I did the below.
Did a fresh clone. Implemented changes on the clone.
How do I get this back to the libreNMS repo?
- Create a fresh clone.
- Create a branch in it
- Do you changes there.
- Test them to ensure that they are correct.
- Collect the Test Data so this change can be “validated” later and maintained.
- Push your branch to GitHub
- Open a Pull Request so the community can merge it.
I am glad I didn’t submit a PR yet.
I am just learning PHP. I am lucky I have some QA going on in my environment because what is going on right now with 3 phase APC PDU vs APC UPS could cost a company some money in current and future business.
I have the current worked out… Power is a mess.
I don’t know why some of this stuff wasn’t migrated from observium which is discovering and displaying values correctly.
Because they were implemented after LibreNMS forked Observium, I would guess …