I’m curious if this is possible? These devices are monitored ONLY if a port (service) is up, eg: TCP 443 etc.
This service monitoring, arguably does give me, enough information to say “this system is up” hence it’d be nice to see these systems in other sections of the application.
Actually
I just noticed while organising a screenshot for this post, that even ICMP only devices aren’t showing uptime, the only definition of uptime is properly queried uptime from the system, example Windows reporting back uptime and printers. Which yes, makes sense I guess.
None the less, it would be nice if I could have a device which I constantly ping (or check service) and it reports that it’s responded for XYZ time consistently?
If anyone has used the tool, uptime kuma, they’ll know what I mean, I can ‘define’ an outage with enough instances of a ping failing.
Sorry for the rambling post, I hope this makes some sense. Not counting on a solution but worth trying.
Thank you.
Sounds interesting. I had a quick look but I don’t think it would be too easy to do. It is sort of a ‘service monitoring’ type of of thing. That uptime karma looks pretty sweet.
You could probably make some code changes to do this, but I can’t thing of a very clean implementation method.
I guess it’s probably down to the fundamental design of librenms, for me it’s the only way to see if something is up. I do get a service alert notification if it’s down, but it does, in some ways make the “up / down” time column under all devices look a bit odd.
I’m using a combo of uptime Kuma and Libre to get a good idea of our network status and it’s nice, but I’d prefer to get it all from one app.
You could attempt to write a ‘wrapper’ and set ./lnms set:config fping /opt/librenms/myfpingwrapper … and for devices that were your ‘special ones’ (not sure how you would tell … hostname pattern etc…) replace the execution of ‘fping’ with ‘your own logic’ … (ie perhaps run nping (from nmap) to test socket availability).
The tricky thing would be determining how fping was called by librenms (just single devices, multiple devices) and getting the output looking the same from your implementation etc …