Prometheus

dbbot 提供一套面向 MySQL 生态的监控部署与接入方案,包含:

  • Prometheus:负责采集与规则计算
  • Grafana:负责仪表盘展示
  • Alertmanager:负责告警通知
  • node_exporter:负责 Linux 主机指标
  • mysqld_exporter:负责 MySQL 实例指标
  • mysqlrouter_exporter:负责 MySQL Router REST API 指标
  • exporterregistrar:负责把 exporter endpoint 注册到 Prometheus file_sd 目标文件

适用场景

  • 监控单实例 MySQL
  • 监控一主多从复制
  • 监控 MGR / InnoDB Cluster
  • 同一台服务器上监控多个 MySQL 实例

部署组成

默认部署入口:

cd /usr/local/dbbot/monitoring_prometheus_ansible/playbooks
ansible-playbook monitoring_prometheus_deployment.yml

默认 exporter 独立部署入口:

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

Router exporter 部署入口:

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

推荐阅读顺序

  1. Prometheus 监控 MySQL 快速开始
  2. node_exporter 相关
  3. mysqld_exporter 相关
  4. mysqlrouter_exporter 与 Router 注册
  5. 官方测试支持的软件版本及下载链接

使用要点

  • Prometheus、Grafana、Alertmanager 建议独立部署在监控节点。
  • node_exportermysqld_exportermysqlrouter_exporter 现在都是独立 playbook,可按需组合。
  • node_exporter 不再随 mysqld_exporter 自动安装;如果你已有其他主机监控,可直接跳过。
  • mysqld_exporter_port 默认使用 auto,会按 MySQL 端口自动派生,适合多实例场景。
  • Router 指标默认来自 mysqlrouter_exporter,其上游依赖 Router REST API。
  • dbbotctl exporter register / exporterregistrar 用于更新 Prometheus 的 file_sd 目标清单,避免手工编辑 YAML。

验证入口

  • Prometheus:http://<monitor_ip>:9090
  • Grafana:http://<monitor_ip>:3000
  • Alertmanager:http://<monitor_ip>:9093