mysqld_exporter 相关
mysqld_exporter 用于把 MySQL 实例状态暴露给 Prometheus,dbbot 已提供默认部署变量和 systemd 模板。
默认值
默认变量位于 mysql_ansible/playbooks/default/var_mysqld_exporter_install.yml:
mysqld_exporter_install: truemysqld_exporter_install_type: dbbotmysqld_exporter_topology: automysqld_exporter_port: auto
说明:
- 默认使用 dbbot 仓内内置的
mysqld_exporter二进制。 mysqld_exporter_topology: auto会自动解析为ms或mgr。mysqld_exporter_port: auto会按9104 + (mysql_port - 3306)自动派生 exporter 监听端口。
依赖链
| 项目 | 内容 |
|---|---|
| 前置依赖 | MySQL 实例已经部署完成;mysql_admin_user / mysql_admin_password 可登录本机实例;如走 package 模式,控制节点可联网或离线包已准备 |
| 必填变量 | mysqld_exporter_install_type、mysqld_exporter_topology、mysqld_exporter_port;若要自动创建监控账号,还要保留 fcs_role_mysqld_exporter_create_monitor_user: true |
| 后续依赖 | 执行 dbbotctl exporter register -t mysql 注册到 Prometheus;如需主机指标,额外执行 node_exporter_install.yml;如需 Router 指标,继续使用 router_exporter_install.yml |
常见场景
主从或单实例:
mysqld_exporter_install: true
mysqld_exporter_install_type: dbbot
mysqld_exporter_topology: auto
mysqld_exporter_port: auto
MGR:
mysqld_exporter_install: true
mysqld_exporter_install_type: dbbot
mysqld_exporter_topology: mgr
mysqld_exporter_port: auto
多实例端口规划
默认自动派生规则:
3306->91043307->91053310->9108
如果你更希望固定成自定义端口,也可以显式指定:
mysqld_exporter_port: 9201
package 模式
如果你希望使用官方发布包,可切换为 package 模式:
mysqld_exporter_install_type: package
mysqld_exporter_package: mysqld_exporter-0.18.0.linux-amd64.tar.gz
官方下载示例:
wget "https://github.com/prometheus/mysqld_exporter/releases/download/v0.18.0/mysqld_exporter-0.18.0.linux-amd64.tar.gz"
此时需要满足以下任一条件:
- 保持
fcs_auto_download_packages: true,允许 dbbot 控制节点自动下载 - 或把安装包预先放入
mysql_ansible/downloads/,并把fcs_auto_download_packages改成false
exporterregistrar 配合使用
dbbotctl exporter register 底层复用 exporterregistrar,在未显式指定 -P 时,也会按 --db-port 自动推导 MySQL exporter 端口。
示例:
dbbotctl exporter register -t mysql -H 192.0.2.131 --db-port 3310 -s 192.0.2.161 -p ${prometheus_server_root_password}
执行入口
cd /usr/local/dbbot/mysql_ansible/playbooks
ansible-playbook mysqld_exporter_install.yml
兼容说明:
- 旧入口
exporter_install.yml仍保留,但现在仅作为mysqld_exporter_install.yml的兼容别名,不再自动部署node_exporter。