This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Display gluster stats

Project Description

Gluster Statistics

gluster-stats is a command-line utility that generates health-related gluster statistics in json, for use in monitoring gluster.

Installation

pip install gluster-stats

Usage

Return gluster stats in json format. Requires root privileges.

Options:

$ gluster-stats --help
usage: gluster-stats [-h] [--record] [--version] [--timeout TIMEOUT]

Collect stats related to gluster

optional arguments:
  -h, --help         show this help message and exit
  --record           Record the gluster cli responses in a local response file
  --version          show program's version number and exit
  --timeout TIMEOUT  Timeout per command in seconds. Defaults to 300.

Example output:

$ sudo gluster-stats
{
 "brick_stats": {
  "preprodcomms": [
   {
    "disk_free": 982151646412,
    "disk_total": 1064615018496,
    "disk_usage_percent": "0.08",
    "disk_used": 82463372084,
    "inode_free": 206325202,
    "inode_total": 208035840,
    "inode_usage_percent": "0.01",
    "inode_used": 1710638,
    "online": 1
   },
   {
    "disk_free": 984191755878,
    "disk_total": 1064615018496,
    "disk_usage_percent": "0.08",
    "disk_used": 80423262618,
    "inode_free": 206325528,
    "inode_total": 208035840,
    "inode_usage_percent": "0.01",
    "inode_used": 1710312,
    "online": 1
   },
   {
    "disk_free": 985802368614,
    "disk_total": 1064615018496,
    "disk_usage_percent": "0.07",
    "disk_used": 78812649882,
    "inode_free": 206325083,
    "inode_total": 208035840,
    "inode_usage_percent": "0.01",
    "inode_used": 1710757,
    "online": 1
   }
  ]
 },
 "gluster_version": "3.7.8",
 "glusterd": 1,
 "glusterfsd": 1,
 "peers": 2,
 "split_brain_entries": {
  "preprodcomms": 0
 },
 "unhealed_entries": {
  "preprodcomms": 855
 },
 "volume_count": 1,
 "volumes": [
  "preprodcomms"
 ]
}

Commands

The following commands are run and parsed to generate the json output:

  • gluster --version
  • gluster peer status
  • gluster volume list
  • pidof glusterd
  • pidof glusterfsd

For each volume, the following commands are run:

  • gluster volume heal <volume> info
  • gluster volume heal <volume> info split-brain
  • gluster volume status <volume> detail

When run with –sudo, the gluster commands that require sudo access (all but –version) are run with sudo prepended.

Testing

Run make test

Tests are run locally with generated mock response files. Run gluster-stats-generate to generate new mock response file. The file will be saved at gluster_stats_<gluster_version>.json.

Versioning

gluster-stats uses semantic versioning. Backward incompatible changes to the json output (such as changing something from a list to a dict) require a major version bump. New values in a dictionary will come with a minor version bump. Bug fixes and patches will use a patch bump.

Todo

  • Use the secret –xml option with gluster volume status - status was hard to parse and the parser is probably fragile. This will require new mock test files.
  • Additional health checks?

History

0.0.1 (2016-05-26)

  • First release
Release History

Release History

This version
History Node

1.2.2

History Node

1.2.1

History Node

1.2.0

History Node

1.1.0

History Node

1.0.2

History Node

1.0.0

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.10

History Node

0.0.9

History Node

0.0.8

History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
gluster_stats-1.2.2-py2.py3-none-any.whl (9.0 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Jun 29, 2016
gluster-stats-1.2.2.tar.gz (11.9 kB) Copy SHA256 Checksum SHA256 Source Jun 29, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting