diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 14:31:17 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 14:31:17 +0000 |
commit | 8020f71afd34d7696d7933659df2d763ab05542f (patch) | |
tree | 2fdf1b5447ffd8bdd61e702ca183e814afdcb4fc /collectors/python.d.plugin/proxysql/README.md | |
parent | Initial commit. (diff) | |
download | netdata-upstream.tar.xz netdata-upstream.zip |
Adding upstream version 1.37.1.upstream/1.37.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'collectors/python.d.plugin/proxysql/README.md')
-rw-r--r-- | collectors/python.d.plugin/proxysql/README.md | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/collectors/python.d.plugin/proxysql/README.md b/collectors/python.d.plugin/proxysql/README.md new file mode 100644 index 0000000..8c6a394 --- /dev/null +++ b/collectors/python.d.plugin/proxysql/README.md @@ -0,0 +1,106 @@ +<!-- +title: "ProxySQL monitoring with Netdata" +custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/python.d.plugin/proxysql/README.md +sidebar_label: "ProxySQL" +--> + +# ProxySQL monitoring with Netdata + +Monitors database backend and frontend performance metrics. + +## Requirements + +- python library [MySQLdb](https://github.com/PyMySQL/mysqlclient-python) (faster) or [PyMySQL](https://github.com/PyMySQL/PyMySQL) (slower) +- `netdata` local user to connect to the ProxySQL server. + +To create the `netdata` user, follow [the documentation](https://github.com/sysown/proxysql/wiki/Users-configuration#creating-a-new-user). + +## Charts + +It produces: + +1. **Connections (frontend)** + + - connected: number of frontend connections currently connected + - aborted: number of frontend connections aborted due to invalid credential or max_connections reached + - non_idle: number of frontend connections that are not currently idle + - created: number of frontend connections created + +2. **Questions (frontend)** + + - questions: total number of queries sent from frontends + - slow_queries: number of queries that ran for longer than the threshold in milliseconds defined in global variable `mysql-long_query_time` + +3. **Overall Bandwidth (backends)** + + - in + - out + +4. **Status (backends)** + + - Backends + - `1=ONLINE`: backend server is fully operational + - `2=SHUNNED`: backend sever is temporarily taken out of use because of either too many connection errors in a time that was too short, or replication lag exceeded the allowed threshold + - `3=OFFLINE_SOFT`: when a server is put into OFFLINE_SOFT mode, new incoming connections aren't accepted anymore, while the existing connections are kept until they became inactive. In other words, connections are kept in use until the current transaction is completed. This allows to gracefully detach a backend + - `4=OFFLINE_HARD`: when a server is put into OFFLINE_HARD mode, the existing connections are dropped, while new incoming connections aren't accepted either. This is equivalent to deleting the server from a hostgroup, or temporarily taking it out of the hostgroup for maintenance work + - `-1`: Unknown status + +5. **Bandwidth (backends)** + + - Backends + - in + - out + +6. **Queries (backends)** + + - Backends + - queries + +7. **Latency (backends)** + + - Backends + - ping time + +8. **Pool connections (backends)** + + - Backends + - Used: The number of connections are currently used by ProxySQL for sending queries to the backend server. + - Free: The number of connections are currently free. + - Established/OK: The number of connections were established successfully. + - Error: The number of connections weren't established successfully. + +9. **Commands** + + - Commands + - Count + - Duration (Total duration for each command) + +10. **Commands Histogram** + + - Commands + - 100us, 500us, ..., 10s, inf: the total number of commands of the given type which executed within the specified time limit and the previous one. + +## Configuration + +Edit the `python.d/proxysql.conf` configuration file using `edit-config` from the Netdata [config +directory](/docs/configure/nodes.md), which is typically at `/etc/netdata`. + +```bash +cd /etc/netdata # Replace this path with your Netdata config directory, if different +sudo ./edit-config python.d/proxysql.conf +``` + +```yaml +tcpipv4: + name : 'local' + user : 'stats' + pass : 'stats' + host : '127.0.0.1' + port : '6032' +``` + +If no configuration is given, module will fail to run. + +--- + + |