<html><body><div style="font-family: lucida console,sans-serif; font-size: 12pt; color: #000000"><div>Hi,<br></div><div><br></div><div>I've just been doing some work relating to a splunkapp for red hat storage/gluster.</div><div><br></div><div>The goal is to provide some gluster related stats in a easy to consume form (i.e. little development needed from a 3rd party!), so I've updated gstatus to 'fill in the blanks'.</div><div><br></div><div>gstatus now provides 3 output modes - console (default), json and keyvalue.</div><div><br></div><div>In addition to the changes in how the information gets presented, I've also added client count, for the cluster and by volume. Incidentally, I'm counting unique client connections, which differs from the information provided by the CLI (just using python sets)<br></div><div><br></div><div>eg.<br></div><div>[root@ip-10-100-1-11 gstatus]# gstatus -a<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status: HEALTHY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Capacity: 120.00 GiB(raw bricks)<br>&nbsp;&nbsp; Glusterfs: 3.4.0.59rhs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80.00 GiB(usable)<br><br>&nbsp;&nbsp; Nodes&nbsp;&nbsp;&nbsp; :&nbsp; 4/ 4&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Volumes:&nbsp; 3 Up<br>&nbsp;&nbsp; Self Heal:&nbsp; 4/ 8&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 Up(Degraded)<br>&nbsp;&nbsp; Bricks&nbsp;&nbsp; : 12/12&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 Up(Partial)<br>&nbsp;&nbsp; Clients&nbsp; :&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 Down<br><br>Volume Information<br>&nbsp;&nbsp; &nbsp;distvol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP - 4/4 bricks up - Distribute<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Capacity: (0% used) 346.00 MiB/40.00 GiB (used/total)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self Heal: N/A<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocols: glusterfs:on&nbsp; NFS:on&nbsp; SMB:on<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gluster Clients : 5<br><br>&nbsp;&nbsp; &nbsp;mirror2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP - 4/4 bricks up - Distributed-Replicate<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Capacity: (0% used) 173.00 MiB/20.00 GiB (used/total)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self Heal:&nbsp; 4/ 4&nbsp;&nbsp; All files in sync<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocols: glusterfs:on&nbsp; NFS:on&nbsp; SMB:on<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gluster Clients : 4<br><br>&nbsp;&nbsp; &nbsp;mirror&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP - 4/4 bricks up - Distributed-Replicate<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Capacity: (0% used) 173.00 MiB/20.00 GiB (used/total)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self Heal:&nbsp; 4/ 4&nbsp;&nbsp; All files in sync<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocols: glusterfs:on&nbsp; NFS:on&nbsp; SMB:on<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gluster Clients : 5<br><br>Status Messages<br>&nbsp; - Cluster is HEALTHY, all checks successful<br><br></div><div>and in JSON mode<br></div><div>[root@ip-10-100-1-11 ~]# gstatus -o json<br>2014-03-21 02:57:58.412101 {"brick_count": 12, "bricks_active": 12, "client_count": 5, "glfs_version": "3.4.0.59rhs", "node_count": 4, "nodes_active": 4, "raw_capacity": 128534446080, "sh_active": 4, "sh_enabled": 8, "status": "healthy", "usable_capacity": 85689630720, "volume_count": 3, "volume_summary": {"degraded": 0, "down": 0, "partial": 0, "up": 3}}</div><div><br></div><div>and keyvalue<br></div><div>[root@ip-10-100-1-11 ~]# gstatus -o keyvalue<br>2014-03-21 02:58:33.042857 brick_count=12,bricks_active=12,client_count=5,glfs_version='3.4.0.59rhs',node_count=4,nodes_active=4,raw_capacity=128534446080,sh_active=4,sh_enabled=8,status='healthy',usable_capacity=85689630720,volume_count=3,volume_summary_down=0,volume_summary_degraded=0,volume_summary_partial=0,volume_summary_up=3<br><br></div><div>(this keyvalue mode may lend itself to logstash/kibana analysis)<br></div><div><br></div><div><br></div><div>The other thing I've noticed is how much faster the 3.5 CLI appears to be compared to 3.4. Great work guys!<br></div><div><br></div><div>Cheers,<br></div><div><br></div><div>Paul C<br><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></body></html>