Skip to main content

MySQL utilities to detect integer like columns overflows

Project description

# mysql-monitor

#### Table of contents

1. [Overview] (#overview)
2. [Usage] (#usage)
3. [Notices] (#notices)
4. [Installation] (#installation)
5. [Development] (#development)

## Overview
This program scan and report all the TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT columns where the highest value is too
close from the highest possible value allowed by the column type.

It handles UNSIGNED and SIGNED cases.

## Usage

```
usage: monitor.py [-h] [--username USERNAME] [--password [PASSWORD]]
[--host HOST] [--threshold THRESHOLD]
[--exclude EXCLUDE [EXCLUDE ...]] [--db DB [DB ...]]

optional arguments:
-h, --help show this help message and exit
--username USERNAME, -u USERNAME
MySQL username
--password [PASSWORD], -p [PASSWORD]
MySQL password
--host HOST MySQL host
--threshold THRESHOLD, -t THRESHOLD
The alerting threshold (ex: 0.8 means alert when a
column max value is 80% of the max possible value
--exclude EXCLUDE [EXCLUDE ...], -e EXCLUDE [EXCLUDE ...]
Database to exclude separated by a comma
--db DB [DB ...], -d DB [DB ...]
Databases to analyse separated by a comma (default
all)
```

## 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

- This script disable innodb_stats computing for optimizing performance_schema analysis and enable it at the end

See: http://www.percona.com/blog/2011/12/23/solving-information_schema-slowness/

If you interrupt this script (Ctrl+C ...) it is up to you to reactivate it using something like:
set global innodb_stats_on_metadata=1;


## Installation

To install it with a [Python virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/) (recommended):

```
$> virtualenv myenv
$> source myenv/bin/activate
(myenv) $> pip install mysql-monitor
(myenv) $> mysql-monitor -h
```

Or on your system, without virtualenv:

```
$> pip install mysql-monitor
$> mysql-monitor -h
```

## Development

To start hacking on the project, run:

```
$> virtualenv myenv
$> source myenv/bin/activate
(myenv) $> pip install -e .
(myenv) $> mysql-monitor -h
```

Changelog
=========

0.1.0 (unreleased)
------------------

Initial version.

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

monitor-mysql-overflows-1.1.1.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file monitor-mysql-overflows-1.1.1.tar.gz.

File metadata

File hashes

Hashes for monitor-mysql-overflows-1.1.1.tar.gz
Algorithm Hash digest
SHA256 4b493b650001ac3efe3361f4c6bc50fdb98fccb07e88f6a4ca5071d16316d699
MD5 48a7d22554634765d31f40c921a5a58c
BLAKE2b-256 097a0438dec3658278eeba633f24eaf645602647f7004bdba9d18d851dff0f88

See more details on using hashes here.

Supported by

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