什么是DBMind
DBMind提供了GaussDB数据库管理运维能力,包括监控、诊断、优化等,满足用户或者DBA日常开发和运维的绝大部分需求。
DBMind实例通过纳管GaussDB数据库实例,将GaussDB实例信息上报到DBMind,实现对GaussDB实例的性能指标监控、日志统计、SQL及会话的管理优化。
组件架构图
图1 架构图
图中各关键组件说明:
- DBMind Server:DBMind的主服务(核心主进程),可用于定期离线计算,包括慢SQL根因分析、时序预测等。
- Prometheus:Prometheus监控指标存储的服务器。
- 元数据库:主服务在离线计算结束后,将计算结果存储在此处。
- gaussdb_exporter:从GaussDB数据库节点上采集监控指标,供DBMind Server进行计算。
- node_exporter:Prometheus官方提供的exporter, 可用于监控该节点的系统指标,如CPU和内存使用情况。
- cmd_exporter:在GaussDB数据库实例后台节点上执行命令行,并采集该命令行的执行结果,同时,也尝试将数据库日志内容转化为监控指标;例如通过执行cm_ctl命令,查看数据库集群的状态。
- reprocessing_exporter:用于对Prometheus采集到的指标进行二次加工处理,例如计算CPU使用率等。
- elasticsearch:用于智能运维全量SQL功能,提供全量SQL索引数据的存储和检索能力。
部署方案
假设在DBMind的安装机器(例如IP为192.168.100.4)上部署DBMind Server,有一套端口号为19999的GaussDB数据库集群环境,纳管GaussDB数据库实例的部署图如图2所示,其环境信息如下表1所示。
node | node_ip | state |
---|---|---|
主节点 | 192.168.100.1 | Primary |
备节点1 | 192.168.100.2 | Standby |
备节点2 | 192.168.100.3 | Standby |
纳管部署规划情况如下表2所示。
组件 | 地址 | 备注 |
---|---|---|
node_exporter | 192.168.100.1: 9100 192.168.100.2: 9100 192.168.100.3: 9100 | 每个数据库实例节点上均需要安装。 |
cmd_exporter | 192.168.100.1: 9100 192.168.100.2: 9100 192.168.100.3: 9100 | 每个数据库实例节点上均需要安装。 |
gaussdb_exporter | 192.168.100.1: 19999 192.168.100.2: 19999 192.168.100.3: 19999 | 每个数据库实例节点上均需要安装。 |
prometheus | 192.168.100.4: 9090 | 仅需在DBMind实例节点安装。 |
reprocessing_exporter | 192.168.100.4: 8181 | 和prometheus一起部署到DBMind节点。 |
流程图
图3 DBMind流程图
约束限制
- 升级场景下,创建DBMind实例前需要通过DBS运维管理平台进行规格绑定,具体内容请参考《云数据库 GaussDB 维护指南(for 华为云Stack 8.5.0)》中的“运维指南 > DBS运维管理平台操作指南 > 配置管理 > 规格管理”章节。
- 在创建DBMind实例时,如果操作系统选择“麒麟”,资源类型选择“弹性云服务器ECS”,首先需要手动配置镜像,完成后才能创建DBMind实例。
配置镜像请参考《云数据库 GaussDB 维护指南(for 华为云Stack 8.5.0)》中的“运维指南 > DBS运维管理平台操作指南 > 配置管理 > 镜像管理”章节进行操作。
更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html