diff options
Diffstat (limited to '')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/mysql/metadata.yaml | 806 |
1 files changed, 806 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/mysql/metadata.yaml b/src/go/collectors/go.d.plugin/modules/mysql/metadata.yaml new file mode 100644 index 000000000..1bc133238 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/mysql/metadata.yaml @@ -0,0 +1,806 @@ +plugin_name: go.d.plugin +modules: + - &module + meta: &meta + id: collector-go.d.plugin-mysql + plugin_name: go.d.plugin + module_name: mysql + monitored_instance: + name: MySQL + link: https://www.mysql.com/ + categories: + - data-collection.database-servers + icon_filename: mysql.svg + related_resources: + integrations: + list: + - plugin_name: apps.plugin + module_name: apps + - plugin_name: cgroups.plugin + module_name: cgroups + info_provided_to_referring_integrations: + description: "" + keywords: + - "db" + - "database" + - "mysql" + - "maria" + - "mariadb" + - "sql" + most_popular: true + overview: + multi_instance: true + data_collection: + metrics_description: | + This collector monitors the health and performance of MySQL servers and collects general statistics, replication and user metrics. + method_description: | + It connects to the MySQL instance via a TCP or UNIX socket and executes the following commands: + + Executed queries: + + - `SELECT VERSION();` + - `SHOW GLOBAL STATUS;` + - `SHOW GLOBAL VARIABLES;` + - `SHOW SLAVE STATUS;` or `SHOW ALL SLAVES STATUS;` (MariaDBv10.2+) or `SHOW REPLICA STATUS;` (MySQL 8.0.22+) + - `SHOW USER_STATISTICS;` (MariaDBv10.1.1+) + - `SELECT TIME,USER FROM INFORMATION_SCHEMA.PROCESSLIST;` + default_behavior: + auto_detection: + description: | + By default, it detects instances running on localhost by trying to connect as root and netdata using known MySQL TCP and UNIX sockets: + + - /var/run/mysqld/mysqld.sock + - /var/run/mysqld/mysql.sock + - /var/lib/mysql/mysql.sock + - /tmp/mysql.sock + - 127.0.0.1:3306 + - "[::1]:3306" + limits: + description: "" + performance_impact: + description: "" + additional_permissions: + description: "" + supported_platforms: + include: [] + exclude: [] + setup: + prerequisites: + list: + - title: Create netdata user + description: | + A user account should have the + following [permissions](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html): + + - [`USAGE`](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_usage) + - [`REPLICATION CLIENT`](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_replication-client) + - [`PROCESS`](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_process) + + To create the `netdata` user with these permissions, execute the following in the MySQL shell: + + ```mysql + CREATE USER 'netdata'@'localhost'; + GRANT USAGE, REPLICATION CLIENT, PROCESS ON *.* TO 'netdata'@'localhost'; + FLUSH PRIVILEGES; + ``` + + The `netdata` user will have the ability to connect to the MySQL server on localhost without a password. It will only + be able to gather statistics without being able to alter or affect operations in any way. + configuration: + file: + name: go.d/mysql.conf + options: + description: | + The following options can be defined globally: update_every, autodetection_retry. + folding: + title: Config options + enabled: true + list: + - name: update_every + description: Data collection frequency. + default_value: 5 + required: false + - name: autodetection_retry + description: Recheck interval in seconds. Zero means no recheck will be scheduled. + default_value: 0 + required: false + - name: dsn + description: MySQL server DSN (Data Source Name). See [DSN syntax](https://github.com/go-sql-driver/mysql#dsn-data-source-name). + default_value: root@tcp(localhost:3306)/ + required: true + - name: my.cnf + description: Specifies the my.cnf file to read the connection settings from the [client] section. + default_value: "" + required: false + - name: timeout + description: Query timeout in seconds. + default_value: 1 + required: false + examples: + folding: + title: Config + enabled: true + list: + - name: TCP socket + description: An example configuration. + config: | + jobs: + - name: local + dsn: netdata@tcp(127.0.0.1:3306)/ + - name: Unix socket + description: An example configuration. + config: | + jobs: + - name: local + dsn: netdata@unix(/var/lib/mysql/mysql.sock)/ + - name: Connection with password + description: An example configuration. + config: | + jobs: + - name: local + dsn: netconfig:password@tcp(127.0.0.1:3306)/ + - name: my.cnf + description: An example configuration. + config: | + jobs: + - name: local + my.cnf: '/etc/my.cnf' + - name: Multi-instance + description: | + > **Note**: When you define multiple jobs, their names must be unique. + + Local and remote instances. + config: | + jobs: + - name: local + dsn: netdata@tcp(127.0.0.1:3306)/ + + - name: remote + dsn: netconfig:password@tcp(203.0.113.0:3306)/ + troubleshooting: + problems: + list: [] + alerts: + - name: mysql_10s_slow_queries + metric: mysql.queries + info: number of slow queries in the last 10 seconds + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_10s_table_locks_immediate + metric: mysql.table_locks + info: number of table immediate locks in the last 10 seconds + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_10s_table_locks_waited + metric: mysql.table_locks + info: number of table waited locks in the last 10 seconds + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_10s_waited_locks_ratio + metric: mysql.table_locks + info: ratio of waited table locks over the last 10 seconds + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_connections + metric: mysql.connections_active + info: client connections utilization + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_replication + metric: mysql.slave_status + info: "replication status (0: stopped, 1: working)" + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_replication_lag + metric: mysql.slave_behind + info: difference between the timestamp of the latest transaction processed by the SQL thread and the timestamp of the same transaction when it was processed on the master + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_galera_cluster_size_max_2m + metric: mysql.galera_cluster_size + info: maximum galera cluster size in the last 2 minutes starting one minute ago + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_galera_cluster_size + metric: mysql.galera_cluster_size + info: current galera cluster size, compared to the maximum size in the last 2 minutes + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_galera_cluster_state_warn + metric: mysql.galera_cluster_state + info: galera node state is either Donor/Desynced or Joined + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_galera_cluster_state_crit + metric: mysql.galera_cluster_state + info: galera node state is either Undefined or Joining or Error + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + - name: mysql_galera_cluster_status + metric: mysql.galera_cluster_status + info: galera node is part of a nonoperational component. This occurs in cases of multiple membership changes that result in a loss of Quorum or in cases of split-brain situations. + link: https://github.com/netdata/netdata/blob/master/src/health/health.d/mysql.conf + metrics: + folding: + title: Metrics + enabled: false + description: "" + availability: + - MySQL + - MariaDB + - Percona + scopes: + - name: global + description: These metrics refer to the entire monitored application. + labels: [] + metrics: + - name: mysql.net + description: Bandwidth + unit: kilobits/s + chart_type: area + dimensions: + - name: in + - name: out + - name: mysql.queries + description: Queries + unit: queries/s + chart_type: line + dimensions: + - name: queries + - name: questions + - name: slow_queries + - name: mysql.queries_type + description: Queries By Type + unit: queries/s + chart_type: stacked + dimensions: + - name: select + - name: delete + - name: update + - name: insert + - name: replace + - name: mysql.handlers + description: Handlers + unit: handlers/s + chart_type: line + dimensions: + - name: commit + - name: delete + - name: prepare + - name: read_first + - name: read_key + - name: read_next + - name: read_prev + - name: read_rnd + - name: read_rnd_next + - name: rollback + - name: savepoint + - name: savepointrollback + - name: update + - name: write + - name: mysql.table_open_cache_overflows + description: Table open cache overflows + unit: overflows/s + chart_type: line + dimensions: + - name: open_cache + - name: mysql.table_locks + description: Table Locks + unit: locks/s + chart_type: line + dimensions: + - name: immediate + - name: waited + - name: mysql.join_issues + description: Table Select Join Issues + unit: joins/s + chart_type: line + dimensions: + - name: full_join + - name: full_range_join + - name: range + - name: range_check + - name: scan + - name: mysql.sort_issues + description: Table Sort Issues + unit: issues/s + chart_type: line + dimensions: + - name: merge_passes + - name: range + - name: scan + - name: mysql.tmp + description: Tmp Operations + unit: events/s + chart_type: line + dimensions: + - name: disk_tables + - name: files + - name: tables + - name: mysql.connections + description: Connections + unit: connections/s + chart_type: line + dimensions: + - name: all + - name: aborted + - name: mysql.connections_active + description: Active Connections + unit: connections + chart_type: line + dimensions: + - name: active + - name: limit + - name: max_active + - name: mysql.threads + description: Threads + unit: threads + chart_type: line + dimensions: + - name: connected + - name: cached + - name: running + - name: mysql.threads_created + description: Threads Creation Rate + unit: threads/s + chart_type: line + dimensions: + - name: created + - name: mysql.thread_cache_misses + description: Threads Cache Misses + unit: misses + chart_type: line + dimensions: + - name: misses + - name: mysql.innodb_io + description: InnoDB I/O Bandwidth + unit: KiB/s + chart_type: line + dimensions: + - name: read + - name: write + - name: mysql.innodb_io_ops + description: InnoDB I/O Operations + unit: operations/s + chart_type: line + dimensions: + - name: reads + - name: writes + - name: fsyncs + - name: mysql.innodb_io_pending_ops + description: InnoDB Pending I/O Operations + unit: operations + chart_type: line + dimensions: + - name: reads + - name: writes + - name: fsyncs + - name: mysql.innodb_log + description: InnoDB Log Operations + unit: operations/s + chart_type: line + dimensions: + - name: waits + - name: write_requests + - name: writes + - name: mysql.innodb_cur_row_lock + description: InnoDB Current Row Locks + unit: operations + chart_type: line + dimensions: + - name: current waits + - name: mysql.innodb_rows + description: InnoDB Row Operations + unit: operations/s + chart_type: area + dimensions: + - name: inserted + - name: read + - name: updated + - name: deleted + - name: mysql.innodb_buffer_pool_pages + description: InnoDB Buffer Pool Pages + unit: pages + chart_type: line + dimensions: + - name: data + - name: dirty + - name: free + - name: misc + - name: total + - name: mysql.innodb_buffer_pool_pages_flushed + description: InnoDB Buffer Pool Flush Pages Requests + unit: requests/s + chart_type: line + dimensions: + - name: flush_pages + - name: mysql.innodb_buffer_pool_bytes + description: InnoDB Buffer Pool Bytes + unit: MiB + chart_type: line + dimensions: + - name: data + - name: dirty + - name: mysql.innodb_buffer_pool_read_ahead + description: InnoDB Buffer Pool Read Pages + unit: pages/s + chart_type: line + dimensions: + - name: all + - name: evicted + - name: mysql.innodb_buffer_pool_read_ahead_rnd + description: InnoDB Buffer Pool Random Read-Aheads + unit: operations/s + chart_type: line + dimensions: + - name: read-ahead + - name: mysql.innodb_buffer_pool_ops + description: InnoDB Buffer Pool Operations + unit: operations/s + chart_type: area + dimensions: + - name: disk_reads + - name: wait_free + - name: mysql.innodb_os_log + description: InnoDB OS Log Pending Operations + unit: operations + chart_type: line + dimensions: + - name: fsyncs + - name: writes + - name: mysql.innodb_os_log_fsync_writes + description: InnoDB OS Log Operations + unit: operations/s + chart_type: line + dimensions: + - name: fsyncs + - name: mysql.innodb_os_log_io + description: InnoDB OS Log Bandwidth + unit: KiB/s + chart_type: area + dimensions: + - name: write + - name: mysql.innodb_deadlocks + description: InnoDB Deadlocks + unit: operations/s + chart_type: area + dimensions: + - name: deadlocks + - name: mysql.files + description: Open Files + unit: files + chart_type: line + dimensions: + - name: files + - name: mysql.files_rate + description: Opened Files Rate + unit: files/s + chart_type: line + dimensions: + - name: files + - name: mysql.connection_errors + description: Connection Errors + unit: errors/s + chart_type: line + dimensions: + - name: accept + - name: internal + - name: max + - name: peer_addr + - name: select + - name: tcpwrap + - name: mysql.opened_tables + description: Opened Tables + unit: tables/s + chart_type: line + dimensions: + - name: tables + - name: mysql.open_tables + description: Open Tables + unit: tables + chart_type: area + dimensions: + - name: cache + - name: tables + - name: mysql.process_list_fetch_query_duration + description: Process List Fetch Duration + unit: milliseconds + chart_type: line + dimensions: + - name: duration + - name: mysql.process_list_queries_count + description: Queries Count + unit: queries + chart_type: stacked + dimensions: + - name: system + - name: user + - name: mysql.process_list_longest_query_duration + description: Longest Query Duration + unit: seconds + chart_type: line + dimensions: + - name: duration + - name: mysql.qcache_ops + description: QCache Operations + unit: queries/s + chart_type: line + dimensions: + - name: hits + - name: lowmem_prunes + - name: inserts + - name: not_cached + - name: mysql.qcache + description: QCache Queries in Cache + unit: queries + chart_type: line + dimensions: + - name: queries + - name: mysql.qcache_freemem + description: QCache Free Memory + unit: MiB + chart_type: area + dimensions: + - name: free + - name: mysql.qcache_memblocks + description: QCache Memory Blocks + unit: blocks + chart_type: line + dimensions: + - name: free + - name: total + - name: mysql.galera_writesets + description: Replicated Writesets + unit: writesets/s + chart_type: line + dimensions: + - name: rx + - name: tx + - name: mysql.galera_bytes + description: Replicated Bytes + unit: KiB/s + chart_type: area + dimensions: + - name: rx + - name: tx + - name: mysql.galera_queue + description: Galera Queue + unit: writesets + chart_type: line + dimensions: + - name: rx + - name: tx + - name: mysql.galera_conflicts + description: Replication Conflicts + unit: transactions + chart_type: area + dimensions: + - name: bf_aborts + - name: cert_fails + - name: mysql.galera_flow_control + description: Flow Control + unit: ms + chart_type: area + dimensions: + - name: paused + - name: mysql.galera_cluster_status + description: Cluster Component Status + unit: status + chart_type: line + dimensions: + - name: primary + - name: non_primary + - name: disconnected + - name: mysql.galera_cluster_state + description: Cluster Component State + unit: state + chart_type: line + dimensions: + - name: undefined + - name: joining + - name: donor + - name: joined + - name: synced + - name: error + - name: mysql.galera_cluster_size + description: Number of Nodes in the Cluster + unit: nodes + chart_type: line + dimensions: + - name: nodes + - name: mysql.galera_cluster_weight + description: The Total Weight of the Current Members in the Cluster + unit: weight + chart_type: line + dimensions: + - name: weight + - name: mysql.galera_connected + description: Cluster Connection Status + unit: boolean + chart_type: line + dimensions: + - name: connected + - name: mysql.galera_ready + description: Accept Queries Readiness Status + unit: boolean + chart_type: line + dimensions: + - name: ready + - name: mysql.galera_open_transactions + description: Open Transactions + unit: transactions + chart_type: line + dimensions: + - name: open + - name: mysql.galera_thread_count + description: Total Number of WSRep (applier/rollbacker) Threads + unit: threads + chart_type: line + dimensions: + - name: threads + - name: mysql.key_blocks + description: MyISAM Key Cache Blocks + unit: blocks + chart_type: line + dimensions: + - name: unused + - name: used + - name: not_flushed + - name: mysql.key_requests + description: MyISAM Key Cache Requests + unit: requests/s + chart_type: area + dimensions: + - name: reads + - name: writes + - name: mysql.key_disk_ops + description: MyISAM Key Cache Disk Operations + unit: operations/s + chart_type: area + dimensions: + - name: reads + - name: writes + - name: mysql.binlog_cache + description: Binlog Cache + unit: transactions/s + chart_type: line + dimensions: + - name: disk + - name: all + - name: mysql.binlog_stmt_cache + description: Binlog Statement Cache + unit: statements/s + chart_type: line + dimensions: + - name: disk + - name: all + - name: connection + description: These metrics refer to the replication connection. + labels: [] + metrics: + - name: mysql.slave_behind + description: Slave Behind Seconds + unit: seconds + chart_type: line + dimensions: + - name: seconds + - name: mysql.slave_status + description: I/O / SQL Thread Running State + unit: boolean + chart_type: line + dimensions: + - name: sql_running + - name: io_running + - name: user + description: These metrics refer to the MySQL user. + labels: + - name: user + description: username + metrics: + - name: mysql.userstats_cpu + description: User CPU Time + unit: percentage + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: used + - name: mysql.userstats_rows + description: User Rows Operations + unit: operations/s + chart_type: stacked + availability: + - MariaDB + - Percona + dimensions: + - name: read + - name: sent + - name: updated + - name: inserted + - name: deleted + - name: mysql.userstats_commands + description: User Commands + unit: commands/s + chart_type: stacked + availability: + - MariaDB + - Percona + dimensions: + - name: select + - name: update + - name: other + - name: mysql.userstats_denied_commands + description: User Denied Commands + unit: commands/s + chart_type: stacked + availability: + - MariaDB + - Percona + dimensions: + - name: denied + - name: mysql.userstats_created_transactions + description: User Transactions + unit: transactions/s + chart_type: area + availability: + - MariaDB + - Percona + dimensions: + - name: commit + - name: rollback + - name: mysql.userstats_binlog_written + description: User Binlog Written + unit: B/s + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: written + - name: mysql.userstats_empty_queries + description: User Empty Queries + unit: queries/s + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: empty + - name: mysql.userstats_connections + description: User Created Connections + unit: connections/s + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: created + - name: mysql.userstats_lost_connections + description: User Lost Connections + unit: connections/s + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: lost + - name: mysql.userstats_denied_connections + description: User Denied Connections + unit: connections/s + chart_type: line + availability: + - MariaDB + - Percona + dimensions: + - name: denied + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-mariadb + monitored_instance: + name: MariaDB + link: https://mariadb.org/ + icon_filename: mariadb.svg + categories: + - data-collection.database-servers + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-percona_mysql + most_popular: false + monitored_instance: + name: Percona MySQL + link: https://www.percona.com/software/mysql-database/percona-server + icon_filename: percona.svg + categories: + - data-collection.database-servers |