Real-time monitoring GlusterFS

using Events APIs

Aravinda VK / @aravindavk

Me

GlusterFS developer working in Red Hat, Bengaluru

Introduction to GlusterFS

GlusterFS is a scalable network filesystem

Distributed and Replicated Volumes

Features: Replication, Geo-replication, Self Heal, Rebalance, Sharding etc

Monitoring Challenges

  • Polling
  • Wasting network bandwidth
  • Not real-time
  • All the status not available via CLI

aravindavk.in/blog/introducing-gdash

Enable and Start glustereventsd


$ systemctl enable glustereventsd
$ systemctl  start glustereventsd
		    

Status of Glustereventsd


$ gluster-eventsapi status
                    
Webhooks:
None

+-----------+-------------+-----------------------+
|NODE       | NODE STATUS | GLUSTEREVENTSD STATUS |
+-----------+-------------+-----------------------+
| localhost |          UP |                    UP |
| node2     |          UP |                    UP |
+-----------+-------------+-----------------------+
                    

Test and Register a webhook


$ gluster-eventsapi webhook-test http://sonne:9000/listen
                    

$ gluster-eventsapi webhook-add http://sonne:9000/listen
                    

Example Event: Gluster Volume Create


gluster volume create gv1 f241:/bricks/b1 \
    f242:/bricks/b2
                    

Example JSON pushed to Webhooks


{
    "nodeid": "95cd599c-5d87-43c1-8fba-b12821fd41b6",
    "ts": 1468303352,
    "event": "VOLUME_CREATE",
    "message": {
        "name": "gv1"
    }
}
                    

Create and Start Volume

Brick down Event

Volume Stop Event

Geo-replication Stop Event

Geo-replication Faulty Event

Status and Future

  • More than 120 Events available(Volume Events, Split brain, Geo-replication etc)
  • Filter Events
  • Integration with External monitoring tools
  • Email notification and Web UI

Documentation

Thanks

Questions?

aravindavk.in | @aravindavk | mail@aravindavk.in