MySQL Exporter采集的关键指标有哪些,如何解读这些指标?

MySQL Exporter 是 Prometheus 生态中用于监控 MySQL 数据库的核心工具,通过采集丰富的性能指标帮助用户分析数据库运行状态。以下是其关键指标分类及解读方法:


一、核心指标分类与解读

1. ​数据库可用性与基础状态​

  • ​**mysql_up**​

    值为 1表示 MySQL 实例正常运行,0表示不可用。用于快速判断数据库是否存活。

  • ​**mysql_global_status_uptime**​

    数据库已运行时间(秒)。若突然归零可能表示实例重启,需结合告警规则监控异常重启。

2. ​连接与线程​

  • ​**mysql_global_status_threads_connected**​

    当前活跃连接数。若接近 mysql_global_variables_max_connections(最大连接数),可能触发连接拒绝,需优化连接池或扩容。

  • ​**mysql_global_status_threads_running**​

    正在执行查询的线程数。持续高位可能表明查询阻塞或锁竞争。

  • ​**mysql_global_status_aborted_connects**​

    连接失败次数。突增可能由网络问题或认证错误引起。

3. ​查询性能​

  • ​**mysql_global_status_queries**​

    服务器执行的查询总数。通过 PromQL rate(mysql_global_status_queries[5m])计算 QPS,反映数据库负载。

  • ​**mysql_global_status_slow_queries**​

    慢查询数量。需结合 long_query_time配置,突增时使用 pt-query-digest分析具体 SQL。

  • ​**mysql_global_status_select_scan**​

    全表扫描次数。高值提示索引缺失或优化器选择不当。

4. ​InnoDB 存储引擎​

  • ​缓冲池指标​

    • mysql_global_status_innodb_buffer_pool_read_requests(读请求数)

    • mysql_global_status_innodb_buffer_pool_reads(从磁盘读取次数)

      ​命中率公式 ​:(1 - reads/requests) * 100。低于 95% 需扩大缓冲池或优化查询。

  • ​锁竞争​

    • mysql_global_status_innodb_row_lock_waits(行锁等待次数)

    • mysql_global_status_innodb_row_lock_time_avg(平均等待时间)

      高值表明事务并发冲突,需优化事务隔离级别或拆分热点数据。

5. ​复制状态(主从架构)​​

  • ​**mysql_slave_status_seconds_behind_master**​

    从库复制延迟(秒)。非零值需检查网络或主库写入压力。

  • ​**mysql_slave_status_slave_io_running**​

    I/O 线程状态。0表示复制中断,需检查主从配置。

6. ​资源使用​

  • ​流量​

    mysql_global_status_bytes_received(入站)和 mysql_global_status_bytes_sent(出站)。突增可能由大查询或数据导出引起。

  • ​文件描述符​

    mysql_global_status_open_files与 mysql_global_variables_open_files_limit对比,接近上限需调整配置。


二、关键计算指标(PromQL 示例)

  1. ​QPS 计算​

    scss 复制代码
    rate(mysql_global_status_queries[1m])
  2. ​缓冲池命中率​

    scss 复制代码
    (1 - rate(mysql_global_status_innodb_buffer_pool_reads[5m]) / rate(mysql_global_status_innodb_buffer_pool_read_requests[5m])) * 100
  3. ​连接使用率​

    复制代码
    mysql_global_status_threads_connected / mysql_global_variables_max_connections * 100

三、实战应用场景

  1. ​性能瓶颈定位​

    • 高 QPS 但低缓冲池命中率 → 优化查询或扩容缓冲池。
    • 慢查询突增 → 使用 pt-query-digest分析日志并优化索引。
  2. ​容量规划​

    • 连接数持续接近上限 → 调整 max_connections或引入读写分离。
  3. ​复制监控​

    • 延迟持续增长 → 检查从库 I/O 线程或主库写入批量。

四、指标采集注意事项

  1. ​权限配置​

    Exporter 需 MySQL 用户授予 SELECT(performance_schema、information_schema)、PROCESS和 REPLICATION CLIENT权限。

  2. ​安全优化​

    • 限制 Exporter 监听 IP,避免暴露 9104端口到公网。
    • 使用专用监控用户并定期轮换密码。

通过以上指标,可全面监控 MySQL 的健康状态,结合 Grafana 仪表盘(如模板 ID 7362)实现可视化,并通过 Prometheus Alertmanager 设置阈值告警。

相关推荐
hacker_LeeFei24 分钟前
Windows 下配置 Redis 8.10.2 开机自启:一次踩坑全记录
数据库·windows·redis
这个DBA有点耶1 小时前
MySQL字符集与排序规则深入:索引失效的隐蔽场景与排查方法
数据库·mysql·代码规范
zl_dfq1 小时前
Redis 之 【持久化 与 事务】
数据库·redis
闲云自留地2 小时前
从下载到登录:MySQL 在两大系统上的完整安装教程
数据库·mysql
SelectDB技术团队2 小时前
Apache Doris 高性能 Open Lake Variant 读写技术解析(含对比数据)
数据结构·数据库·clickhouse·日志·apache doris·selectdb·湖仓架构升级
一 乐2 小时前
博客管理系统|基于springboot + vue博客管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕设
茉莉玫瑰花茶3 小时前
GO [ 类型 ]
开发语言·数据库·golang
ClouGence3 小时前
开源数据库管理工具 CloudDM 4.3.0 发布,支持 SQL 收藏,多数据源语法支持大幅增强
数据库·oracle·sql server
Summer-Bright4 小时前
深度 | 壁仞1.74亿中标智算中心:国产GPU从能用跨进商用,但4.5亿的大单却因凑不齐三家废标了
数据库·ai·国产gpu
云安全助手4 小时前
自建接入VS聚合平台:企业 AI 调用的选型思路与迁移成本拆解
java·大数据·数据库·人工智能·ai大模型