As an experiment to showcase the capabilities of Gluster Events APIs, Created a dashboard for Gluster Geo-replication.
Note: This is not ready for production use Yet!
Real-time notifications/UI change only works with Gluster 3.9 or above, but dashboard will work with older versions of gluster too.
Install the following Python dependencies using,
sudo pip install flask flask_sockets glustercli
sudo npm install -g bower elm
App.elm and then generate
using,(editing serverName should be automatic, this is code bug! will
elm-package install elm-make App.elm --output static/app.js
purecss for style using,
cd static bower install
main.py in any node of the Cluster. Dashboard can be
Test and register this node as Events API subscriber by calling
command. Read more about starting Events service here
gluster-eventsapi webhook-test http://nodename:5000/listen
If Webhook status is OK from all nodes, then add webhook using,
gluster-eventsapi webhook-add http://nodename:5000/listen
Thats all! If everything is okay, dashboard will show realtime Geo-replication status.
- UI is very raw since it is created for demo purpose
- Frontend developed using Elm
- No event available for change in "Last Synced" column, So that column value will not match with realtime output from status command. Refresh the page to see the latest status.