Skip to main content

Display gluster stats

Project description

Gluster Statistics

https://img.shields.io/pypi/v/gluster_stats.svg https://img.shields.io/travis/danrue/gluster_stats.svg https://img.shields.io/badge/license-BSD-blue.svg https://img.shields.io/badge/python-2.6%20%7C%202.7%20%7C%203.3%20%7C%203.4%20%7C%203.5-green.svg

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

Project details


Download files

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

Source Distribution

gluster-stats-1.2.2.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

gluster_stats-1.2.2-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file gluster-stats-1.2.2.tar.gz.

File metadata

File hashes

Hashes for gluster-stats-1.2.2.tar.gz
Algorithm Hash digest
SHA256 43f376dc4f26c8bf0712e02576fa275b2cd79096cb36c6182411386e781734fb
MD5 2740fb235d9e15e0f032ef3e0b24ff3f
BLAKE2b-256 f69ac9c2dc6e2d945d7fbd38c6407874354b2a23bc502c19faf62e4f939a5c6b

See more details on using hashes here.

File details

Details for the file gluster_stats-1.2.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for gluster_stats-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2d2f91f0b0923086993232f1ed2530ffd06a0d2d7bf562b04778af21f7492b84
MD5 0937279dcf5dbf95995ecde5103e6c95
BLAKE2b-256 cda321267eaae92e14e5ae4c397c20e4e0edd40bd326f7587e51d9c950907bb0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page