updated README for mysql input plugin
This commit is contained in:
parent
c0bc3dd864
commit
bd0bed6ff5
|
@ -0,0 +1,170 @@
|
||||||
|
# MySQL Input plugin
|
||||||
|
|
||||||
|
This plugin gathers the statistic data from MySQL server
|
||||||
|
|
||||||
|
* Global statuses
|
||||||
|
* Global variables
|
||||||
|
* Slave statuses
|
||||||
|
* Binlog size
|
||||||
|
* Process list
|
||||||
|
* Info schema auto increment columns
|
||||||
|
* Table I/O waits
|
||||||
|
* Index I/O waits
|
||||||
|
* Perf Schema table lock waits
|
||||||
|
* Perf Schema event waits
|
||||||
|
* Perf Schema events statements
|
||||||
|
* File events statistics
|
||||||
|
* Table schema statistics
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Example configuration:
|
||||||
|
The metrics that requires
|
||||||
|
```
|
||||||
|
# specify servers via a url matching:
|
||||||
|
# [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
|
||||||
|
# see https://github.com/go-sql-driver/mysql#dsn-data-source-name
|
||||||
|
# e.g.
|
||||||
|
# root:passwd@tcp(127.0.0.1:3306)/?tls=false
|
||||||
|
# root@tcp(127.0.0.1:3306)/?tls=false
|
||||||
|
#
|
||||||
|
# If no servers are specified, then localhost is used as the host.
|
||||||
|
servers = ["tcp(127.0.0.1:3306)/"]
|
||||||
|
# the limits for metrics form perf_events_statements
|
||||||
|
perf_events_statements_digest_text_limit = 120
|
||||||
|
perf_events_statements_limit = 250
|
||||||
|
perf_events_statements_time_limit = 86400
|
||||||
|
# if the list is empty, then metrics are gathered from all databasee tables
|
||||||
|
table_schema_databases = []
|
||||||
|
# gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
|
||||||
|
gather_table_schema = false
|
||||||
|
# gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
|
||||||
|
gather_process_list = true
|
||||||
|
# gather auto_increment columns and max values from information schema
|
||||||
|
gather_info_schema_auto_inc = true
|
||||||
|
# gather metrics from SHOW SLAVE STATUS command output
|
||||||
|
gather_slave_status = true
|
||||||
|
# gather metrics from SHOW BINARY LOGS command output
|
||||||
|
gather_binary_logs = false
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMART_BY_TABLE
|
||||||
|
gather_table_io_waits = false
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMART_BY_INDEX_USAGE
|
||||||
|
gather_index_io_waits = false
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
|
||||||
|
gather_file_events_stats = false
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
|
||||||
|
gather_perf_events_statements = false
|
||||||
|
# Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
|
||||||
|
interval_slow = "30m"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Measurements & Fields
|
||||||
|
* Global statuses - all numeric and boolean values of `SHOW GLOBAL STATUSES`
|
||||||
|
* Global variables - all numeric and boolean values of `SHOW GLOBAL VARIABLES`
|
||||||
|
* Slave status - metrics from `SHOW SLAVE STATUS` the metrics are gathered when the single-source replication is on. If the multi-source replication is set, then everything works differently, this metric does not work with multi-source replication.
|
||||||
|
* slave_[column name]()
|
||||||
|
* Binary logs - all metrics including size and count of all binary files. Requires to be turned on in configuration.
|
||||||
|
* binary_size_bytes(int, number)
|
||||||
|
* binary_files_count(int, number)
|
||||||
|
* Process list - connection metrics from processlist for each user. It has the following tags
|
||||||
|
* connections(int, number)
|
||||||
|
* Perf Table IO waits - total count and time of I/O waits event for each table and process. It has following fields:
|
||||||
|
* table_io_waits_total_fetch(float, number)
|
||||||
|
* table_io_waits_total_insert(float, number)
|
||||||
|
* table_io_waits_total_update(float, number)
|
||||||
|
* table_io_waits_total_delete(float, number)
|
||||||
|
* table_io_waits_seconds_total_fetch(float, milliseconds)
|
||||||
|
* table_io_waits_seconds_total_insert(float, milliseconds)
|
||||||
|
* table_io_waits_seconds_total_update(float, milliseconds)
|
||||||
|
* table_io_waits_seconds_total_delete(float, milliseconds)
|
||||||
|
* Perf index IO waits - total count and time of I/O waits event for each index and process. It has following fields:
|
||||||
|
* index_io_waits_total_fetch(float, number)
|
||||||
|
* index_io_waits_seconds_total_fetch(float, milliseconds)
|
||||||
|
* index_io_waits_total_insert(float, number)
|
||||||
|
* index_io_waits_total_update(float, number)
|
||||||
|
* index_io_waits_total_delete(float, number)
|
||||||
|
* index_io_waits_seconds_total_insert(float, milliseconds)
|
||||||
|
* index_io_waits_seconds_total_update(float, milliseconds)
|
||||||
|
* index_io_waits_seconds_total_delete(float, milliseconds)
|
||||||
|
* Info schema autoincrement statuses - autoincrement fields and max values for them. It has following fields:
|
||||||
|
* auto_increment_column(int, number)
|
||||||
|
* auto_increment_column_max(int, number)
|
||||||
|
* Perf table lock waits - gathers total number and time for SQL and external lock waits events for each table and operation. It has following fields. The unit of fields varies by the tags.
|
||||||
|
* read_normal(float, number/milliseconds)
|
||||||
|
* read_with_shared_locks(float, number/milliseconds)
|
||||||
|
* read_high_priority(float, number/milliseconds)
|
||||||
|
* read_no_insert(float, number/milliseconds)
|
||||||
|
* write_normal(float, number/milliseconds)
|
||||||
|
* write_allow_write(float, number/milliseconds)
|
||||||
|
* write_concurrent_insert(float, number/milliseconds)
|
||||||
|
* write_delayed(float, number/milliseconds)
|
||||||
|
* write_low_priority(float, number/milliseconds)
|
||||||
|
* read(float, number/milliseconds)
|
||||||
|
* write(float, number/milliseconds)
|
||||||
|
* Perf events waits - gathers total time and number of event waits
|
||||||
|
* events_waits_total(float, number)
|
||||||
|
* events_waits_seconds_total(float, milliseconds)
|
||||||
|
* Perf file events statuses - gathers file events statuses
|
||||||
|
* file_events_total(float,number)
|
||||||
|
* file_events_seconds_total(float, milliseconds)
|
||||||
|
* file_events_bytes_total(float, bytes)
|
||||||
|
* Perf file events statements - gathers attributes of each event
|
||||||
|
* events_statements_total(float, number)
|
||||||
|
* events_statements_seconds_total(float, millieconds)
|
||||||
|
* events_statements_errors_total(float, number)
|
||||||
|
* events_statements_warnings_total(float, number)
|
||||||
|
* events_statements_rows_affected_total(float, number)
|
||||||
|
* events_statements_rows_sent_total(float, number)
|
||||||
|
* events_statements_rows_examined_total(float, number)
|
||||||
|
* events_statements_tmp_tables_total(float, number)
|
||||||
|
* events_statements_tmp_disk_tables_total(float, number)
|
||||||
|
* events_statements_sort_merge_passes_totales(float, number)
|
||||||
|
* events_statements_sort_rows_total(float, number)
|
||||||
|
* events_statements_no_index_used_total(float, number)
|
||||||
|
* Table schema - gathers statistics of each schema. It has following measurements
|
||||||
|
* info_schema_table_rows(float, number)
|
||||||
|
* info_schema_table_size_data_length(float, number)
|
||||||
|
* info_schema_table_size_index_length(float, number)
|
||||||
|
* info_schema_table_size_data_free(float, number)
|
||||||
|
* info_schema_table_version(float, number)
|
||||||
|
|
||||||
|
## Tags
|
||||||
|
* All measurements has following tags
|
||||||
|
* server (the host name from which the metrics are gathered)
|
||||||
|
* Process list measurement has following tags
|
||||||
|
* user (username for whom the metrics are gathered)
|
||||||
|
* Perf table IO waits measurement has following tags
|
||||||
|
* schema
|
||||||
|
* name (object name for event or process)
|
||||||
|
* Perf index IO waits has following tags
|
||||||
|
* schema
|
||||||
|
* name
|
||||||
|
* index
|
||||||
|
* Info schema autoincrement statuses has following tags
|
||||||
|
* schema
|
||||||
|
* table
|
||||||
|
* column
|
||||||
|
* Perf table lock waits has following tags
|
||||||
|
* schema
|
||||||
|
* table
|
||||||
|
* sql_lock_waits_total(fields including this tag have numeric unit)
|
||||||
|
* external_lock_waits_total(fields including this tag have numeric unit)
|
||||||
|
* sql_lock_waits_seconds_total(fields including this tag have millisecond unit)
|
||||||
|
* external_lock_waits_seconds_total(fields including this tag have millisecond unit)
|
||||||
|
* Perf events statements has following tags
|
||||||
|
* event_name
|
||||||
|
* Perf file events statuses has following tags
|
||||||
|
* event_name
|
||||||
|
* mode
|
||||||
|
* Perf file events statements has following tags
|
||||||
|
* schema
|
||||||
|
* digest
|
||||||
|
* digest_text
|
||||||
|
* Table schema has following tags
|
||||||
|
* schema
|
||||||
|
* table
|
||||||
|
* component
|
||||||
|
* type
|
||||||
|
* engine
|
||||||
|
* row_format
|
||||||
|
* create_options
|
|
@ -33,30 +33,52 @@ type Mysql struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var sampleConfig = `
|
var sampleConfig = `
|
||||||
# specify servers via a url matching:
|
# specify servers via a url matching:
|
||||||
# [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
|
# [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
|
||||||
# see https://github.com/go-sql-driver/mysql#dsn-data-source-name
|
# see https://github.com/go-sql-driver/mysql#dsn-data-source-name
|
||||||
# e.g.
|
# e.g.
|
||||||
# root:passwd@tcp(127.0.0.1:3306)/?tls=false
|
# root:passwd@tcp(127.0.0.1:3306)/?tls=false
|
||||||
# root@tcp(127.0.0.1:3306)/?tls=false
|
# root@tcp(127.0.0.1:3306)/?tls=false
|
||||||
#
|
#
|
||||||
# If no servers are specified, then localhost is used as the host.
|
# If no servers are specified, then localhost is used as the host.
|
||||||
servers = ["tcp(127.0.0.1:3306)/"]
|
servers = ["tcp(127.0.0.1:3306)/"]
|
||||||
perf_events_statements_digest_text_limit = 120
|
# the limits for metrics form perf_events_statements
|
||||||
perf_events_statements_limit = 250
|
perf_events_statements_digest_text_limit = 120
|
||||||
perf_events_statements_time_limit = 86400
|
perf_events_statements_limit = 250
|
||||||
table_schema_databases = []
|
perf_events_statements_time_limit = 86400
|
||||||
gather_process_list = true
|
|
||||||
gather_info_schema_auto_inc = true
|
# if the list is empty, then metrics are gathered from all databasee tables
|
||||||
gather_slave_status = true
|
table_schema_databases = []
|
||||||
gather_binary_logs = false
|
|
||||||
gather_table_io_waits = false
|
# gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
|
||||||
gather_index_io_waits = false
|
gather_table_schema = false
|
||||||
gather_table_schema = false
|
|
||||||
gather_file_events_stats = false
|
# gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
|
||||||
gather_perf_events_statements = false
|
gather_process_list = true
|
||||||
# Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
|
|
||||||
interval_slow = "30m"
|
# gather auto_increment columns and max values from information schema
|
||||||
|
gather_info_schema_auto_inc = true
|
||||||
|
|
||||||
|
# gather metrics from SHOW SLAVE STATUS command output
|
||||||
|
gather_slave_status = true
|
||||||
|
|
||||||
|
# gather metrics from SHOW BINARY LOGS command output
|
||||||
|
gather_binary_logs = false
|
||||||
|
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMART_BY_TABLE
|
||||||
|
gather_table_io_waits = false
|
||||||
|
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMART_BY_INDEX_USAGE
|
||||||
|
gather_index_io_waits = false
|
||||||
|
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
|
||||||
|
gather_file_events_stats = false
|
||||||
|
|
||||||
|
# gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
|
||||||
|
gather_perf_events_statements = false
|
||||||
|
|
||||||
|
# Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
|
||||||
|
interval_slow = "30m"
|
||||||
`
|
`
|
||||||
|
|
||||||
var defaultTimeout = time.Second * time.Duration(5)
|
var defaultTimeout = time.Second * time.Duration(5)
|
||||||
|
|
Loading…
Reference in New Issue