Last week I got opportunity to present about Gluster Events APIs in Gluster meetup Bangalore.
Events APIs will be available with Gluster 3.9 release.(Release Candidate is available if anybody interested in testing)
Without Events APIs, one way to get status of Cluster is by calling Gluster status command/api in periodic intervals.
Below illustration shows calling status once every 10 seconds.
With Events APIs, setup a listener Webhook and register with Gluster using gluster-eventsapi webhook-add <URL>. Call Gluster status command whenever webhook receives an Event.(Check this blog to know Webhooks and Events APIs in detail)
As part of presentation, created some visualizations to show how these real time notifications can be used to refresh the UI automatically when Gluster cluster state changes.
Following gif shows the UI change immediately after creating a Gluster Volume.
When a brick process is killed,
- Documentation for the Events APIs feature is available here.
- Gif images created using byzanz tool.(Example: sleep 2; byzanz-record --duration=5 --x=500 --y=0 --width=1024 --height=800 volume_stop.gif
- Illustrations are created using mypaint software and Wacom Tablet.
- Dashboard prototype was created using Python Flask + Elm + Websockets