
Mysql监控指标
1、Mysql监控agent存活
mysql_up{job=~".*mysql"} == 0
检测mysql监控agent是否存活、或者是mysql服务是否挂掉
2、Mysql监控连接数
mysql_global_status_max_used_connections{job=~".*mysql"} > mysql_global_variables_max_connections{job=~".*mysql"}*0.75
如果mysql连接数超过75%就发出告警信息
3、Mysql监控文件打开数
mysql_global_status_innodb_num_open_files{job=~".*mysql"} > (mysql_global_variables_open_files_limit{job=~".*mysql"}) * 0.75
如果mysql文件打开数超过75%就发出告警信息
4、Mysql监控从库只读
mysql_global_variables_read_only{job=~".*mysql"} != 0
如果Mysql从库不是只读模式就告警
5、Mysql监控主从延迟
rate(mysql_slave_status_seconds_behind_master{job=~".*mysql"}[5m]) > 30
如果Mysql主从延迟就告警
6、Mysql监控SQL线程
mysql_slave_status_slave_sql_running != 1
如果MysqlSQL线程已停止就告警
7、Mysql监控IO线程
mysql_slave_status_slave_io_running != 1
Mysql监控IO线程已停止就告警
8、Mysql监控入口流量
round(rate(mysql_global_status_bytes_received{job=~".*mysql"}[5m]) /1024*100)/100
Mysql监控入口流量单位是KB,如果大于1024就告警
9、Mysql监控出口流量
round(rate(mysql_global_status_bytes_sent{job=~".*mysql"}[5m]) /1024*100)/100
Mysql监控入口流量单位是KB,如果大于1024就告警
10、MySQL监控写操作速率
sum(rate(mysql_global_status_commands_total{command=~"insert|update|delete",job=~".*mysql"}[5m])) without (command)
MySQL监控写操作速率,如果大于100就告警
11、MySQL监控性能状态
rate(mysql_global_status_slow_queries{job=~".*mysql"}[5m])
MySQL监控性能状态,如果大于10就告警
12、MySQL监控查询速率
rate(mysql_global_status_questions{job=~".*mysql"}[5m])
MySQL监控查询速率,如果大于500就告警
13、MySQL可用连接数
mysql_global_variables_max_connections{job=~".*mysql"} - mysql_global_status_threads_connected{job=~".*mysql"}
MySQL可用连接数,如果如果小于500就告警
14、MySQL缓冲池利用率
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%就告警
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持Linux运维。




















