Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oefenweb/ansible-percona-toolkit
Ansible role to set up percona-toolkit in Debian-like systems
https://github.com/oefenweb/ansible-percona-toolkit
ansible checksum database debian mariadb mysql percona percona-toolkit pt-deadlock-logger toolkit ubuntu
Last synced: about 1 month ago
JSON representation
Ansible role to set up percona-toolkit in Debian-like systems
- Host: GitHub
- URL: https://github.com/oefenweb/ansible-percona-toolkit
- Owner: Oefenweb
- License: mit
- Created: 2016-01-12T16:34:45.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-03T10:25:08.000Z (8 months ago)
- Last Synced: 2024-05-03T14:46:43.105Z (8 months ago)
- Topics: ansible, checksum, database, debian, mariadb, mysql, percona, percona-toolkit, pt-deadlock-logger, toolkit, ubuntu
- Language: Shell
- Size: 107 KB
- Stars: 8
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## percona-toolkit
[![CI](https://github.com/Oefenweb/ansible-percona-toolkit/workflows/CI/badge.svg)](https://github.com/Oefenweb/ansible-percona-toolkit/actions?query=workflow%3ACI)
[![Ansible Galaxy](http://img.shields.io/badge/ansible--galaxy-percona--toolkit-blue.svg)](https://galaxy.ansible.com/Oefenweb/percona_toolkit)Manage [percona-toolkit](https://www.percona.com/software/mysql-tools/percona-toolkit) in Debian-like systems.
#### Requirements
* `software-properties-common` (will be installed)
* `dirmngr` (will be installed)#### Variables
##### General
* `percona_toolkit_cron_jobs`: [optional, default: `[]`]: List of job declarations
* `percona_toolkit_cron_jobs.{n}.name`: [required]: Description of a crontab entry, should be unique, and changing the value will result in a new cron task being created (e.g. `pt-deadlock-logger`)
* `percona_toolkit_cron_jobs.{n}.job`: [required]: The command to execute (e.g. `/usr/bin/flock -n /var/lock/percona-toolkit-heartbeat -c /usr/local/bin/pt-heartbeat-wrapper`)
* `percona_toolkit_cron_jobs.{n}.state`: [default: `present`]: Whether to ensure the job is present or absent
* `percona_toolkit_cron_jobs.{n}.day`: [default: `*`]: Day of the month the job should run (`1-31`, `*`, `*/2`)
* `percona_toolkit_cron_jobs.{n}.hour`: [default: `*`]: Hour when the job should run (e.g. `0-23`, `*`, `*/2`)
* `percona_toolkit_cron_jobs.{n}.minute`: [default: `*`]: Minute when the job should run (e.g. `0-59`, `*`, `*/2`)
* `percona_toolkit_cron_jobs.{n}.month`: [default: `*`]: Month of the year the job should run (e.g `1-12`, `*`, `*/2`)
* `percona_toolkit_cron_jobs.{n}.weekday`: [default: `*`]: Day of the week that the job should run (e.g. `0-6` for Sunday-Saturday, `*`)##### pt-deadlock-logger
* `percona_toolkit_deadlock_logger`: [optional, default: `{}`]: pt-deadlock-logger configuration declarations
* `percona_toolkit_deadlock_logger.defaults_file`: [optional]: Only read mysql options from the given file. You must give an absolute pathname.
* `percona_toolkit_deadlock_logger.host`: [optional]: Host to connect to (default localhost)
* `percona_toolkit_deadlock_logger.password`: [optional]: Password to use when connecting
* `percona_toolkit_deadlock_logger.port`: [optional]: Port number to use for connection
* `percona_toolkit_deadlock_logger.socket`: [optional]: Socket file to use for connection
* `percona_toolkit_deadlock_logger.user`: [optional]: User for login if not current user
* `percona_toolkit_deadlock_logger.daemonize`: [optional, default: `false`]: Fork to the background and detach from the shell. POSIX operating systems only.
* `percona_toolkit_deadlock_logger.opts`: [optional, default: `[]`]: Additional options
* `percona_toolkit_deadlock_logger.dest`: [optional]: DSN for where to store deadlocks configuration declarations
* `percona_toolkit_deadlock_logger.dest.host`: [optional]: Host of DSN for where to store deadlocks
* `percona_toolkit_deadlock_logger.dest.database`: [required]: Database of DSN for where to store deadlocks
* `percona_toolkit_deadlock_logger.dest.table`: [required]: Table of DSN for where to store deadlocks##### pt-heartbeat
* `percona_toolkit_heartbeat`: [optional, default: `{}`]: pt-heartbeat configuration declarations
* `percona_toolkit_heartbeat.defaults_file`: [optional]: Only read mysql options from the given file. You must give an absolute pathname.
* `percona_toolkit_heartbeat.host`: [optional]: Host to connect to (default localhost)
* `percona_toolkit_heartbeat.password`: [optional]: Password to use when connecting
* `percona_toolkit_heartbeat.port`: [optional]: Port number to use for connection
* `percona_toolkit_heartbeat.socket`: [optional]: Socket file to use for connection
* `percona_toolkit_heartbeat.user`: [optional]: User for login if not current user
* `percona_toolkit_heartbeat.daemonize`: [optional, default: `false`]: Fork to the background and detach from the shell. POSIX operating systems only.
* `percona_toolkit_heartbeat.opts`: [optional, default: `[]`]: Additional options##### pt-table-checksum
* `percona_toolkit_table_checksum`: [optional, default: `{}`]: pt-table-checksum configuration declarations
* `percona_toolkit_table_checksum.defaults_file`: [optional]: Only read mysql options from the given file. You must give an absolute pathname.
* `percona_toolkit_table_checksum.host`: [optional]: Host to connect to (default localhost)
* `percona_toolkit_table_checksum.password`: [optional]: Password to use when connecting
* `percona_toolkit_table_checksum.port`: [optional]: Port number to use for connection
* `percona_toolkit_table_checksum.socket`: [optional]: Socket file to use for connection
* `percona_toolkit_table_checksum.user`: [optional]: User for login if not current user
* `percona_toolkit_table_checksum.databases`: [optional]: Only checksum this list of databases (e.g. `['foo', 'bar']`)
* `percona_toolkit_table_checksum.ignore_databases`: [optional]: Ignore this list of databases (e.g. `['information_schema', 'common_schema']`)
* `percona_toolkit_table_checksum.opts`: [optional, default: `[]`]: Additional options##### (Custom) scripts
* `percona_toolkit_script_map`: [default: `[]`]: Script declarations
* `percona_toolkit_script_map.{n}.src`: The local path of the file to copy, can be absolute or relative (e.g. `../../../files/percona-toolkit/usr/local/bin/pt-truncate-database.sh`)
* `percona_toolkit_script_map.{n}.dest`: The remote path of the file to copy (e.g. `/usr/local/bin/pt-truncate-database`)
* `percona_toolkit_script_map.{n}.owner`: The name of the user that should own the file (optional, default `root`)
* `percona_toolkit_script_map.{n}.group`: The name of the group that should own the file (optional, default `root`)
* `percona_toolkit_script_map.{n}.mode`: The mode of the file, such as 0644 (optional, default `0755`)## Dependencies
None
## Recommended
* `percona-client` ([see](https://github.com/Oefenweb/ansible-percona-client))
* `percona-server` ([see](https://github.com/Oefenweb/ansible-percona-server))#### Example(s)
##### Simple
```yaml
---
- hosts: all
roles:
- oefenweb.percona-toolkit
```##### Create jobs
```yaml
---
- hosts: all
roles:
- oefenweb.percona-toolkit
vars:
percona_toolkit_cron_jobs:
- name: pt-deadlock-logger
job: '/usr/bin/flock -n /var/lock/percona-toolkit-deadlock-logger -c /usr/local/bin/pt-deadlock-logger-wrapper'
minute: 0
hour: 0
- name: pt-heartbeat
job: '/usr/bin/flock -n /var/lock/percona-toolkit-heartbeat -c /usr/local/bin/pt-heartbeat-wrapper'
minute: 0
hour: 0
- name: pt-table-checksum
job: '/usr/bin/flock -n /var/lock/percona-toolkit-table-checksum -c /usr/local/bin/pt-table-checksum-wrapper'
minute: 0
hour: 0
```#### License
MIT
#### Author Information
* Mark van Driel
* Mischa ter Smitten#### Feedback, bug-reports, requests, ...
Are [welcome](https://github.com/Oefenweb/ansible-percona-toolkit/issues)!