MySQL运维实战之ProxySQL(9.10)proxysql监控
stats数据库
从stats数据库中可以查到proxysql一些内部组件的状态,如内存使用情况、连接池信息、会话信息、SQL执行状态等。
mysql> show tables from stats; +---------------------------------------+ | tables | +---------------------------------------+ | global_variables | | stats_memory_metrics | | stats_mysql_client_host_cache | | stats_mysql_client_host_cache_reset | | stats_mysql_commands_counters | | stats_mysql_connection_pool | | stats_mysql_connection_pool_reset | | stats_mysql_errors | | stats_mysql_errors_reset | | stats_mysql_free_connections | | stats_mysql_global | | stats_mysql_gtid_executed | | stats_mysql_prepared_statements_info | | stats_mysql_processlist | | stats_mysql_query_digest | | stats_mysql_query_digest_reset | | stats_mysql_query_rules | | stats_mysql_users | | stats_proxysql_message_metrics | | stats_proxysql_message_metrics_reset | | stats_proxysql_servers_checksums | | stats_proxysql_servers_clients_status | | stats_proxysql_servers_metrics | | stats_proxysql_servers_status | +---------------------------------------+
proxysql exporter
proxysql内置prometheus exporter,可通过参数admin-restapi_enabled开启。
SET admin-restapi_enabled='true'; SET admin-restapi_port='6070'; SET admin-prometheus_memory_metrics_interval='60'; LOAD ADMIN VARIABLES TO RUNTIME;
开启后,访问admin-restapi_port就可以获取到监控数据:
curl http://127.0.0.1:6070/metrics
exporter的数据很多从stats数据库也能获取到。可以使用prometheus采集监控数据,使用grafana仪表盘展示。
admin web
可通过参数admin-web_enabled开启admin web。
set admin-web_enabled='true'; set admin-web_port=6080; set admin-stats_credentials='stats:stats'; LOAD ADMIN VARIABLES TO RUNTIME;
访问admin web的账号和密码由参数admin-stats_credentials指定,通过admin web可以查看proxysql的相关信息:
正式环境中,更推荐使用exporter的方式,通过prometheus和grafana的方式来做监控。