Monitors database backend and frontend performance metrics.
- python library MySQLdb (faster) or PyMySQL (slower)
netdata
local user to connect to the ProxySQL server.
To create the netdata
user, follow the documentation.
It produces:
-
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
-
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
-
Overall Bandwidth (backends)
- in
- out
-
Status (backends)
- Backends
1=ONLINE
: backend server is fully operational2=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 threshold3=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 backend4=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
- Backends
-
Bandwidth (backends)
- Backends
- in
- out
- Backends
-
Queries (backends)
- Backends
- queries
- Backends
-
Latency (backends)
- Backends
- ping time
- Backends
-
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.
- Backends
-
Commands
- Commands
- Count
- Duration (Total duration for each command)
- Commands
-
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.
- Commands
Edit the python.d/proxysql.conf
configuration file using edit-config
from the Netdata config
directory, which is typically at /etc/netdata
.
cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/proxysql.conf
tcpipv4:
name : 'local'
user : 'stats'
pass : 'stats'
host : '127.0.0.1'
port : '6032'
If no configuration is given, module will fail to run.