Python plugin support is experimental and implementation may change in the future
Currently every plugin must be written in python3.
All third party libraries should be installed system-wide or in python_modules
directory.
Also plugins support changing their data collection frequency by setting update_every
variable in their configuration file.
The following python.d plugins are supported:
The plugin will monitor one or more mysql servers
Requirements:
It will produce following charts (if data is available):
- Bandwidth in kbps
- in
- out
- Queries in queries/sec
- queries
- questions
- slow queries
- Operations in operations/sec
- opened tables
- flush
- commit
- delete
- prepare
- read first
- read key
- read next
- read prev
- read random
- read random next
- rollback
- save point
- update
- write
- Table Locks in locks/sec
- immediate
- waited
- Select Issues in issues/sec
- full join
- full range join
- range
- range check
- scan
- Sort Issues in issues/sec
- merge passes
- range
- scan
You can provide, per server, the following:
- a name, anything you like, but keep it short
- username which have access to database (deafults to 'root')
- password (defaults to none)
- mysql my.cnf configuration file
- mysql socket (optional)
- mysql host (ip or hostname)
- mysql port (defaults to 3306)
Here is an example for 3 servers updating data every 10 seconds
update_every = 10
config=[
{
'name' : 'local',
'my.cnf' : '/etc/mysql/my.cnf'
},{
'name' : 'local_2',
'user' : 'root',
'password' : 'blablablabla',
'socket' : '/var/run/mysqld/mysqld.sock'
},{
'name' : 'remote',
'user' : 'admin',
'password' : 'bla',
'host' : 'example.org',
'port' : '9000'
}]
If no configuration is given, the plugin will attempt to connect to mysql server via unix socket at /var/run/mysqld/mysqld.sock
without password and username root