MySQL Table Space Graphing
Table of contents
- [Overview] (#overview)
- [Usage] (#usage)
- [Notices] (#notices)
- [Installation] (#installation)
- [Development] (#development)
Overview
This program put in statsd (graphite stack) some metrics about your database and table space consumption.
For all your databases/tables, you will have
- data_length: size of the table
- index_length: size of the index
- data_free: free space in table space
- row_count: the (approximative) number of rows
Usage
usage: mytsgraph [-h] --config CONFIG
optional arguments:
-h, --help show this help message and exit
--config CONFIG, -c CONFIG
Configuration file
Notices
BE CAREFUL:
- It could be very slow (especially on heavy loaded servers or servers with a huge databases/tables count. You surely want to run this tool on a slave instead of a master
pypi link
InstallationTo install it with a Python virtualenv (recommended):
$> virtualenv myenv
$> source myenv/bin/activate
(myenv) $> pip install mytsgraph
(myenv) $> mysql-monitor -h
Or on your system, without virtualenv:
$> pip install mytsgraph
$> mysql-monitor -h
Retention policy
I suggest to use a not fine grained retention since this script should be used only a few time a day. Something like this should be enough:
[mytsgraph]
pattern = database.*
retentions = 4h:3y
Development
To start hacking on the project, run:
$> virtualenv myenv
$> source myenv/bin/activate
(myenv) $> pip install -e .
(myenv) $> mytsgraph -h