sickmuse
sickmuse copied to clipboard
Customizable Dashboard
Rather than just listing the set of hosts it would be better if the index page could be configured to show a set of graphs configured by the user.
Are there any preferences so far on how to implement a dashboard feature? Freeboard looks like a popular option for the client side. system-dashboard is another Python project that might offer some inspiration.
As an alternative (I haven't tried it) it might be possible to combine the Plugin:MQTT with a Web Sockets-enabled broker like Mosquitto and then freeboard-mqtt to render last-seen values. Who knows if (or how well) it'd work though!
I haven't given this much thought since I was originally brainstorming the project. By default it shows everything collected by collectd so at a minimum it would be nice to be able to configure that to a more focus set of graphs per host.
Just an update given my last comment proposed a potential approach, I did more testing and configured Collectd's MQTT plugin to send plain text protocol messages to Mosquitto. However I ran into a blocker because freeboard-mqtt
uses Paho MQTT JavaScript, which in turn requires web sockets support, and Mosquitto's web sockets support uses libwebsockets
. The latter's most recent 2.1.0 version has a regression that prevents it from working, so I decided to park it until the regression is fixed.
I did learn enough about the components to believe it's worthwhile adapting freeboard-mqtt
into a distinct GitHub-hosted plugin that can ingest Collectd MQTT plain text protocol messages. This would be usable with both private FreeBoard installations as well as the public http://www.freeboard.io version. SickMuse could then be used in several useful ways, but I will come back to that when I get a bit of time to complete the initial integration work.