I’m using LibreNMS with distributed pollers (about 600 devices, 6000 ports). For graphing I’m using a separate virtual with rrdcached daemon. Native LibreNMS graphs works great with this setup, but I’ve got problems with Smokeping integration.
Because my rrdcached deamon + rrd-storage are on a different host than my web server, using local paths to rrd files is not working very well (I get it working using a shared storage), but there seems to be a cleaner way.
I’ve experimented with Smokeping. It is not documented at all, but it is possible (and not so difficult) to run it also with an external rrdcached (just by creating suitable path for “data dirs” and setting env variable to communicate with rrdcached = RRDCACHED_ADDRESS). Viewing graphs using Smokeping GUI also works (nearly the same approach - nginx+fastcgi+passing fastcgi_param RRDCACHED_ADDRESS). There is no need to alter Smokeping code - just run it in a suitable environment
With this setup, I’ve got Smokeping graphs accessible in LibreNMS by link in Latency Device tab.
Not so bad, but it would be great to support this type of integration inside LibreNMS. Current code relies on local placed RRD files. To allow using an external rrdcached to create these graphs it would be better not to list files, but use a reverse logic (ie calculate path to rrd and try to open it using RRD library [with possible rrdcached support] just like other LibreNMS graphs do.
I’m not a skilled php programmer, so modifying this by myself is out of my scope. But hopefully my experience with Smokeping+rrdcached could be an inspiration for someone else, that can use it and implement this feature inside LibreNMS.
Thanks in advance