mysqld_exporter 相关

mysqld_exporter 用于把 MySQL 实例状态暴露给 Prometheus,dbbot 已提供默认部署变量和 systemd 模板。

默认值

默认变量位于 mysql_ansible/playbooks/default/var_exporter_install.yml

  • mysqld_exporter_install: true
  • mysqld_exporter_install_type: dbbot
  • mysqld_exporter_topology: ms
  • mysqld_exporter_port: auto

说明:

  • 默认使用 dbbot 仓内内置的 mysqld_exporter 二进制。
  • 默认按主从/单实例场景启用采集项。
  • 如果目标是 MGR,请显式设置 mysqld_exporter_topology: mgr
  • mysqld_exporter_port: auto 会按 9104 + (mysql_port - 3306) 自动派生 exporter 监听端口。

常见场景

主从或单实例:

mysqld_exporter_install: true
mysqld_exporter_install_type: dbbot
mysqld_exporter_topology: ms
mysqld_exporter_port: auto

MGR:

mysqld_exporter_install: true
mysqld_exporter_install_type: dbbot
mysqld_exporter_topology: mgr
mysqld_exporter_port: auto

多实例端口规划

默认自动派生规则:

  • 3306 -> 9104
  • 3307 -> 9105
  • 3310 -> 9108

如果你更希望固定成自定义端口,也可以显式指定:

mysqld_exporter_port: 9201

package 模式

如果你希望使用官方发布包,可切换为 package 模式:

mysqld_exporter_install_type: package
mysqld_exporter_package: mysqld_exporter-0.18.0.linux-amd64.tar.gz

此时需要满足以下任一条件:

  • 事先把安装包放入 mysql_ansible/downloads/
  • 允许 dbbot 控制节点访问 GitHub Release

exporterregistrar 配合使用

exporterregistrar 在未显式指定 -P 时,也会按 --db-port 自动推导 MySQL exporter 端口。

示例:

./exporterregistrar register -t mysql -H 192.168.199.131 --db-port 3310 -s 192.168.199.161 -p ${prometheus_server_root_password}

执行入口

cd /usr/local/dbbot/mysql_ansible/playbooks
ansible-playbook exporter_install.yml