Mysql监控指标
1、Mysql监控agent存活
PromQL语句:
mysql_up{job=~".*mysql"} == 0
说明:检测mysql监控agent是否存活、或者是mysql服务是否挂掉
2、Mysql监控连接数
PromQL语句:
mysql_global_status_max_used_connections{job=~".*mysql"} > mysql_global_variables_max_connections{job=~".*mysql"}*0.75
说明:如果mysql连接数超过75%就发出告警信息
3、Mysql监控文件打开数
PromQL语句:
mysql_global_status_innodb_num_open_files{job=~".*mysql"} > (mysql_global_variables_open_files_limit{job=~".*mysql"}) * 0.75
说明:如果mysql文件打开数超过75%就发出告警信息
4、Mysql监控从库只读
PromQL语句:
mysql_global_variables_read_only{job=~".*mysql"} != 0
说明:如果Mysql从库不是只读模式就告警
5、Mysql监控主从延迟
PromQL语句:
rate(mysql_slave_status_seconds_behind_master{job=~".*mysql"}[5m]) > 30
说明:如果Mysql主从延迟就告警
6、Mysql监控SQL线程
PromQL语句:
mysql_slave_status_slave_sql_running != 1
说明:如果MysqlSQL线程已停止就告警
7、Mysql监控IO线程
PromQL语句:
mysql_slave_status_slave_io_running != 1
说明:Mysql监控IO线程已停止就告警
8、Mysql监控入口流量
PromQL语句:
round(rate(mysql_global_status_bytes_received{job=~".*mysql"}[5m]) /1024*100)/100
说明:Mysql监控入口流量单位是KB,如果大于1024就告警
9、Mysql监控出口流量
PromQL语句:
round(rate(mysql_global_status_bytes_sent{job=~".*mysql"}[5m]) /1024*100)/100
说明:Mysql监控入口流量单位是KB,如果大于1024就告警
10、MySQL监控写操作速率
PromQL语句:
sum(rate(mysql_global_status_commands_total{command=~"insert|update|delete",job=~".*mysql"}[5m])) without (command)
说明:MySQL监控写操作速率,如果大于100就告警
11、MySQL监控性能状态
PromQL语句:
rate(mysql_global_status_slow_queries{job=~".*mysql"}[5m])
说明:MySQL监控性能状态,如果大于10就告警
12、MySQL监控查询速率
PromQL语句:
rate(mysql_global_status_questions{job=~".*mysql"}[5m])
说明:MySQL监控查询速率,如果大于500就告警
13、MySQL可用连接数
PromQL语句:
mysql_global_variables_max_connections{job=~".*mysql"} - mysql_global_status_threads_connected{job=~".*mysql"}
说明:MySQL可用连接数,如果如果小于500就告警
14、MySQL缓冲池利用率
PromQL语句:
round((sum(mysql_global_status_buffer_pool_pages) by (job) - sum(mysql_global_status_buffer_pool_pages{state="free"}) by (job)) / sum(mysql_global_status_buffer_pool_pages) by (job) *100)
说明:MySQL可用连接数,大于80%就告警