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
推荐阅读顺序
- Prometheus 监控 MySQL 快速开始
- node_exporter 相关
- mysqld_exporter 相关
- mysqlrouter_exporter 与 Router 注册
- 官方测试支持的软件版本及下载链接
使用要点
- Prometheus、Grafana、Alertmanager 建议独立部署在监控节点。
node_exporter、mysqld_exporter、mysqlrouter_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