Mysql-exporter监控指标详解

 更新时间:2025年07月10日 09:44:51   作者:运维打怪晋级之路  
本文列举了14项MySQL监控指标及PromQL告警语句,涵盖连接数、文件打开数、主从状态、流量、缓冲池利用率等,触发阈值如75%、1024KB、100等,用于实时监控数据库健康与性能

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%就告警

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL Workbench的使用方法(图文)

    MySQL Workbench的使用方法(图文)

    这篇文章主要介绍了MySQL Workbench的使用方法(图文) ,需要的朋友可以参考下
    2016-02-02
  • MySQL中实用且高频的SQL工具与脚本分享

    MySQL中实用且高频的SQL工具与脚本分享

    这篇文章主要介绍了一些实用且高频的 SQL 工具脚本代码示例,涵盖数据库维护、性能优化、数据操作等场景,适用于 MySQL、PostgreSQL 等主流数据库,希望对大家有所帮助
    2025-06-06
  • 在MySQL中奏响数据库操作的乐章(推荐)

    在MySQL中奏响数据库操作的乐章(推荐)

    本文详细介绍了如何在MySQL中进行数据库操作,包括创建、删除、修改数据库等,以及如何使用字符集和校验规则,以及备份和恢复数据库的方法,同时,还讨论了如何查看和修改数据库的结构和数据,总的来说,本文为读者提供了一份全面的MySQL数据库操作指南
    2024-10-10
  • MySQL日期ATE、TIME、DATETIME、TIMESTAMP和YEAR的使用语句

    MySQL日期ATE、TIME、DATETIME、TIMESTAMP和YEAR的使用语句

    本文介绍了MySQL中日期和时间数据类型及其常见使用语句,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR等,以及它们的应用场景,如记录事件发生时间、查询特定时间段内的数据、定期清理过期数据和生成报表等
    2024-11-11
  • Linux下编译安装Mysql 5.5的简单步骤

    Linux下编译安装Mysql 5.5的简单步骤

    Linux下面因为从MySQL 5.5开始使用cmake来做config了,所以编译安装的会和5.1版本有些区别。不过总体来说还是差别不大
    2015-08-08
  • 优化MySQL数据库中的查询语句详解

    优化MySQL数据库中的查询语句详解

    这篇文章主要介绍了优化MySQL数据库中的查询语句,非常实用的经验总结,需要的朋友可以参考下
    2014-07-07
  • Mysql查询列横向转换逗号拼接并加上双引号

    Mysql查询列横向转换逗号拼接并加上双引号

    使用Mysql的GROUP_CONCAT函数和CONCAT函数,将查询结果的列横向转换为逗号拼接的字符串,并在每个值周围加上双引号,最终结果每一行包含一个user_id和一个由双引号括起来的user_names字段,本文介绍Mysql查询列横向转换逗号拼接并加上双引号的知识,感兴趣的朋友一起看看吧
    2025-02-02
  • mysql 存储过程详解

    mysql 存储过程详解

    这篇文章主要介绍了mysql 存储过程详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • MySQL的表空间是什么

    MySQL的表空间是什么

    这篇文章主要介绍了MySQL的表空间是什么,帮助大家更好的理解和使用MySQL表的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • mysql 常用命令用法总结脚本之家整理版

    mysql 常用命令用法总结脚本之家整理版

    在日常工作中,会简单的使用一下mysql,故对常见命令操作总结一下,常用方式如下
    2010-02-02

最新评论