Effective Gluster Monitoring using Events APIs

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.

Get Cluster status without Events APIs

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)

Get Cluster status with Events APIs

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.

Gluster Volume Create and Start

When a brick process is killed,

Brick Process Killed

Volume Stop,

Volume Stop

References:

  • 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

Comments !