mysqlrouter_exporter 项目简介
mysqlrouter_exporter 是一个面向 MySQL Router 的产品化 Prometheus exporter。它已经从 dbbot 主仓拆分为独立项目,但继续兼容 dbbot 现有的 YAML 配置格式、安装变量和服务启动方式。
1. 它解决什么问题
这个项目适合下面几类场景:
- 只想采集 MySQL Router 指标,不想依赖完整的
dbbot源码树 - 希望让 Router exporter 按自己的节奏独立发版和升级
- 已有 Prometheus 环境,但监控接入不一定通过
dbbot全量交付 - 想继续复用
dbbot已经约定好的配置格式和变量命名
2. 它采集什么
独立项目关注的是 MySQL Router 运行态和接入层可观测性:
- Router 可用性和抓取健康状态
- Router 构建信息和启动时间
- 每条路由的活跃连接数、总连接数、阻塞主机数、健康状态和目的端
- 元数据刷新计数器和最近一次刷新端点信息
- 可选的路由连接字节计数
- 通过解析
mysqlrouter.conf执行本地监听端口检查
这个实现最值得关注的差异点就是 listener check。它不只依赖 Router REST API 返回的数据,还会额外验证 mysqlrouter.conf 里声明的监听地址是否真的在接收 TCP 连接。
3. 和 dbbot 的关系
dbbot 仍然保留了 Router 指标的一体化交付路径:
router_exporter_install.yml继续作为标准 playbook 入口mysqlrouter_exporter_install_type: dbbot使用dbbot发行包内置的兼容二进制mysqlrouter_exporter_install_type: package从上游 GitHub 仓库下载独立 release 包- Router 目标注册仍然通过
dbbotctl exporter register -t router
也就是说,这个项目已经独立发版,但 dbbot 用户原有的一体化使用路径并没有丢。
4. 独立使用方式
在脱离 dbbot 的场景下,这个项目默认按一套比较明确的生产布局运行:
- 二进制:
/usr/local/bin/mysqlrouter_exporter - 配置文件:
/etc/mysqlrouter_exporter/config.yml - 密码文件:
/etc/mysqlrouter_exporter/router_api_password - systemd 服务名:
mysqlrouter_exporter
它支持三种输入方式:
- 兼容旧版的 YAML 配置
- 环境变量
- 命令行参数
这意味着它既适合直接安装到目标主机,也适合接入已有的 systemd 监控环境,或者在 dbbot 之外单独锁定 release 版本。
5. 上游入口与相关文档
- GitHub:https://github.com/fanderchan/mysqlrouter_exporter
dbbot一体化接入说明:mysqlrouter_exporter 与 Router 注册dbbot发版与打包说明:dbbot 下载和发版日志