]> arthur.barton.de Git - netdata.git/blobdiff - conf.d/python.d/mysql.conf
dns_query_time plugin: replace "." with "_" in dimensions
[netdata.git] / conf.d / python.d / mysql.conf
index 6df941d59935a9391e6e5640be41366a1af63713..63d635174a026b4943b78d1f7a42a3fc0bbfca01 100644 (file)
-# Example configuration of mysql.chart.py
-# YAML format
+# netdata python.d.plugin configuration for mysql
+#
+# This file is in YaML format. Generally the format is:
+#
+# name: value
+#
+# There are 2 sections:
+#  - global variables
+#  - one or more JOBS
+#
+# JOBS allow you to collect values from multiple sources.
+# Each source will have its own set of charts.
+#
+# JOB parameters have to be indented (using spaces only, example below).
 
-update_every: 1
-retries: 10
+# ----------------------------------------------------------------------
+# Global Variables
+# These variables set the defaults for all JOBs, however each JOB
+# may define its own, overriding the defaults.
 
-mycnf:
+# update_every sets the default data collection frequency.
+# If unset, the python.d.plugin default is used.
+# update_every: 1
+
+# priority controls the order of charts at the netdata dashboard.
+# Lower numbers move the charts towards the top of the page.
+# If unset, the default for python.d.plugin is used.
+# priority: 60000
+
+# retries sets the number of retries to be made in case of failures.
+# If unset, the default for python.d.plugin is used.
+# Attempts to restore the service are made once every update_every
+# and only if the module has collected values in the past.
+# retries: 5
+
+# ----------------------------------------------------------------------
+# JOBS (data collection sources)
+#
+# The default JOBS share the same *name*. JOBS with the same name
+# are mutually exclusive. Only one of them will be allowed running at
+# any time. This allows autodetection to try several alternatives and
+# pick the one that works.
+#
+# Any number of jobs is supported.
+#
+# All python.d.plugin JOBS (for all its modules) support a set of
+# predefined parameters. These are:
+#
+# job_name:
+#     name: myname     # the JOB's name as it will appear at the
+#                      # dashboard (by default is the job_name)
+#                      # JOBs sharing a name are mutually exclusive
+#     update_every: 1  # the JOB's data collection frequency
+#     priority: 60000  # the JOB's order on the dashboard
+#     retries: 5       # the JOB's number of restoration attempts
+#
+# Additionally to the above, mysql also supports the following:
+#
+#     socket: 'path/to/mysql.sock'
+#
+#  or
+#     host: 'IP or HOSTNAME' # the host to connect to
+#     port: PORT             # the port to connect to
+#
+#  in all cases, the following can also be set:
+#
+#     user: 'username'       # the mysql username to use
+#     pass: 'password'       # the mysql password to use
+#
+
+# ----------------------------------------------------------------------
+# mySQL CONFIGURATION
+#
+# netdata does not need any privilege - only the ability to connect
+# to the mysql server (netdata will not be able to see any data).
+#
+# Execute these commands to give the local user 'netdata' the ability
+# to connect to the mysql server on localhost, without a password:
+#
+# > create user 'netdata'@'localhost';
+# > grant usage on *.* to 'netdata'@'localhost' with grant option;
+# > flush privileges;
+#
+# with the above statements, netdata will be able to gather mysql
+# statistics, without the ability to see or alter any data or affect
+# mysql operation in any way. No change is required below.
+
+# ----------------------------------------------------------------------
+# AUTO-DETECTION JOBS
+# only one of them will run (they have the same name)
+
+mycnf1:
+  name     : 'local'
+  'my.cnf' : '/etc/my.cnf'
+
+mycnf2:
   name     : 'local'
   'my.cnf' : '/etc/mysql/my.cnf'
 
+debiancnf:
+  name     : 'local'
+  'my.cnf' : '/etc/mysql/debian.cnf'
+
 socket1:
   name     : 'local'
-  #user     : 'root'
-  #password : ''
+  # user     : ''
+  # pass     : ''
   socket   : '/var/run/mysqld/mysqld.sock'
 
 socket2:
   name     : 'local'
-  #user     : 'root'
-  #password : ''
+  # user     : ''
+  # pass     : ''
+  socket   : '/var/run/mysqld/mysql.sock'
+
+socket3:
+  name     : 'local'
+  # user     : ''
+  # pass     : ''
   socket   : '/var/lib/mysql/mysql.sock'
 
+socket4:
+  name     : 'local'
+  # user     : ''
+  # pass     : ''
+  socket   : '/tmp/mysql.sock'
+
 tcp:
   name     : 'local'
-  #user     : 'root'
-  #password : ''
+  # user     : ''
+  # pass     : ''
   host     : 'localhost'
   port     : '3306'
+  # keep in mind port might be ignored by mysql, if host = 'localhost'
+  # http://serverfault.com/questions/337818/how-to-force-mysql-to-connect-by-tcp-instead-of-a-unix-socket/337844#337844
+
+tcpipv4:
+  name     : 'local'
+  # user     : ''
+  # pass     : ''
+  host     : '127.0.0.1'
+  port     : '3306'
+
+tcpipv6:
+  name     : 'local'
+  # user     : ''
+  # pass     : ''
+  host     : '::1'
+  port     : '3306'
+
+
+# Now we try the same as above with user: root
+# A few systems configure mysql to accept passwordless
+# root access.
+
+mycnf1_root:
+  name     : 'local'
+  user     : 'root'
+  'my.cnf' : '/etc/my.cnf'
+
+mycnf2_root:
+  name     : 'local'
+  user     : 'root'
+  'my.cnf' : '/etc/mysql/my.cnf'
 
 socket1_root:
   name     : 'local'
   user     : 'root'
-  #password : ''
+  # pass     : ''
   socket   : '/var/run/mysqld/mysqld.sock'
 
 socket2_root:
   name     : 'local'
   user     : 'root'
-  #password : ''
+  # pass     : ''
+  socket   : '/var/run/mysqld/mysql.sock'
+
+socket3_root:
+  name     : 'local'
+  user     : 'root'
+  # pass     : ''
   socket   : '/var/lib/mysql/mysql.sock'
 
+socket4_root:
+  name     : 'local'
+  user     : 'root'
+  # pass     : ''
+  socket   : '/tmp/mysql.sock'
+
 tcp_root:
   name     : 'local'
   user     : 'root'
-  #password : ''
+  # pass     : ''
+  host     : 'localhost'
+  port     : '3306'
+  # keep in mind port might be ignored by mysql, if host = 'localhost'
+  # http://serverfault.com/questions/337818/how-to-force-mysql-to-connect-by-tcp-instead-of-a-unix-socket/337844#337844
+
+tcpipv4_root:
+  name     : 'local'
+  user     : 'root'
+  # pass     : ''
+  host     : '127.0.0.1'
+  port     : '3306'
+
+tcpipv6_root:
+  name     : 'local'
+  user     : 'root'
+  # pass     : ''
+  host     : '::1'
+  port     : '3306'
+
+
+# Now we try the same as above with user: netdata
+
+mycnf1_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  'my.cnf' : '/etc/my.cnf'
+
+mycnf2_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  'my.cnf' : '/etc/mysql/my.cnf'
+
+socket1_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  socket   : '/var/run/mysqld/mysqld.sock'
+
+socket2_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  socket   : '/var/run/mysqld/mysql.sock'
+
+socket3_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  socket   : '/var/lib/mysql/mysql.sock'
+
+socket4_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  socket   : '/tmp/mysql.sock'
+
+tcp_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
   host     : 'localhost'
-  port     : '3306'
\ No newline at end of file
+  port     : '3306'
+  # keep in mind port might be ignored by mysql, if host = 'localhost'
+  # http://serverfault.com/questions/337818/how-to-force-mysql-to-connect-by-tcp-instead-of-a-unix-socket/337844#337844
+
+tcpipv4_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  host     : '127.0.0.1'
+  port     : '3306'
+
+tcpipv6_netdata:
+  name     : 'local'
+  user     : 'netdata'
+  # pass     : ''
+  host     : '::1'
+  port     : '3306'
+