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%就告警
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论