首页/云/可观测性速查/mysqld_exporter:MySQL 指标采集
Prometheus 与采集64 条

mysqld_exporter:MySQL 指标采集

mysqld_exporter 连接 MySQL 暴露连接数、QPS、主从复制等指标;使用独立监控账号,默认端口 9104,常用指标 mysql_up 与 mysql_global_status_*。

可观测性速查云更新于 2026-10-13

数据库指标怎么采

MySQL 指标采集通常借助官方导出器:它连接数据库实例,把连接数、语句执行量、缓冲池使用与复制状态等指标暴露出来。数据库监控与主机监控不同,指标大多带实例与库的维度,需要单独设计看板与告警。

采集要占用连接

导出器本身要连数据库,因此需要独立账号并限制最大连接数。权限不足时部分指标会缺失而不报错,容易形成监控盲区;复制延迟等字段名还会随版本变化,看板适配要以实际的指标输出为准。

基本信息

默认端口9104
连接方式通过环境变量指定数据源连接串
账号要求独立的监控账号,授予必要权限
指标开关通过采集参数按需开启部分指标

典型使用场景

  • 连接数监控:会话数接近上限前提前预警
  • 吞吐观察:语句执行量的趋势与突增
  • 复制监控:延迟与复制线程状态
  • 缓存与缓冲池:命中率与使用率评估
  • 慢查询趋势:结合数据库侧的慢日志分析定位

创建监控账号并运行

创建监控账号并运行
CREATE USER 'exporter'@'localhost' IDENTIFIED BY '***' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

# 用环境变量提供连接串并启动
export DATA_SOURCE_NAME='exporter:***@(127.0.0.1:3306)/'
mysqld_exporter --web.listen-address=:9104

常用指标

指标含义用途
实例可用性实例是否可连接最基础的存活告警
当前连接数正在使用的会话数量接近上限时预警
已处理语句数累计执行的语句量吞吐趋势
复制延迟从库落后主库的时间复制健康判断
缓冲池使用缓冲池占用情况内存与命中率分析

部署时的注意点

  • 监控账号只授予必要权限,避免使用业务账号
  • 限制导出器的最大连接数,防止采集本身打满连接
  • 复制相关字段名随版本变化,看板要按实际输出适配
  • 导出器与数据库之间的网络与超时要一并考虑
复制相关字段名与含义随版本变化:看板与告警适配时以实际指标输出为准,不要直接照搬旧版本的字段名。
权限不足时部分指标会静默缺失:看板看起来正常但含空值,需要用探针查询或对比指标条数来确认。

易错点

  • 权限不足导致指标缺失:没有报错,只能从看板空白处察觉
  • 用业务账号采集:权限过大且影响业务连接数池
  • 最大连接数设置过小:导出器自身被拒连,实例可用性指标失真
  • 复制字段名照搬旧版本:升级后指标取不到,复制监控出现缺口

数据来源与参考

  • mysqld_exporter 项目文档(github.com/prometheus/mysqld_exporter)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌