主机清单:
主机 | IP | 服务 | 备注 |
AAAA | 192.168.5.136 | 达梦主 | |
BBBB | 192.168.5.137 | 达梦从 | |
CCCC | 192.168.5.138 | 普罗米修斯 |
一、普罗米修斯部署
详情见普罗米修斯部署
二、达梦数据库集群部署
详情见达梦数据库集群部署
三、普罗米修斯监控达梦数据库
1、下载dameng_exporter采集器
官网地址:https://github.com/gy297879328/dameng_exporter
- DM数据库适配prometheus监控的采集器,目前已支持DM8数据库同时提供grafana 8.5.X 以上版本的监控面板(其他的grafana版本需要自己绘制表盘)
- doc目录存放的是相关的配置文件(告警模板、配置模板、表盘)
- collector存放的是各个指标的采集逻辑
2、新建监控用户
在DM库上新建用户
create tablespace "PROMETHEUS.DBF" datafile 'PROMETHEUS.DBF' size 512 CACHE = NORMAL;
create user PROMETHEUS identified by Qqiao20031128$;
alter user "PROMETHEUS" default tablespace "PROMETHEUS.DBF" default index tablespace "PROMETHEUS.DBF";
grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "PROMETHEUS";
grant select on DBA_FREE_SPACE to PROMETHEUS;
grant select on DBA_DATA_FILES to PROMETHEUS;
grant select on DBA_USERS to PROMETHEUS;
grant select on V$SESSIONS to PROMETHEUS;
commit;
3、解压exporter并修改配置文件
修改dameng_exporter.config配置文件,修改账号密码的部分
#新建目录
[root@AAAA data]# mkdir /data/dameng_exporter/
#上传压缩包
[root@AAAA dameng_exporter]# rz -E
rz waiting to receive.
[root@AAAA dameng_exporter]# ls
dameng_exporter_v1.1.0_linux_amd64.tar.gz
#解压压缩包
[root@AAAA dameng_exporter]# tar -zxf dameng_exporter_v1.1.0_linux_amd64.tar.gz
## 修改dameng_exporter.config配置文件的数据库账号及密码
## 注意:程序运行后会自动对数据库密码部分进行密文处理,不用担心密码泄露问
[root@AAAA dameng_exporter]# vim dameng_exporter.config
dbHost=127.0.0.1:5236?autoCommit=true
dbUser=SYSDBA
dbPwd=Passw0rd@DM
4、启动exporter软件
#赋予执行权限
[root@AAAA dameng_exporter]# chmod 755 dameng_exporter_linux_amd6
##前台启动方式
[root@AAAA dameng_exporter]# ./dameng_exporter_linux_amd64
## 启动服务,注意替换成自己的版本号,如果验证没有问题,则使用nohup后台启动程序即可
[root@AAAA dameng_exporter]# nohup ./dameng_exporter_linux_amd64 &
## 2. 访问接口
## 通过浏览器访问http://被监控端IP:9200/metrics
[root@AAAA dameng_exporter]# lsof -i:9200
注:图上即为启动成功,如果没有问题,则使用nohup后台启动程序。浏览器可以访问:ip:9200/metrics看有没有问题。
5、修改prometheus配置文件关联数据
注:prometheus的对数据库的指标采集如果高于60s一次,请手动修改提供表盘中的计算值
编辑prometheus.yml文件
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: 'linux'
file_sd_configs:
- files:
- "/data/prometheus-2.32.1.linux-amd64/linux.json"
refresh_interval: 30s
- job_name: "dm_db_single"
static_configs:
- targets:
- "192.168.5.136:9200"
- "192.168.5.137:9200"
labels:
cluster_name: '单机测试'
------------------------------------新增文件---------------------------------------
- job_name: "dm_db_single"
static_configs:
- targets:
- "192.168.5.136:9200"
- "192.168.5.137:9200"
labels:
cluster_name: '单机测试'
------------------------------------新增文件end---------------------------------------
改完成以后进行配置文件校验,避免因为空格等问题导致出错
[root@CCCC prometheus-2.32.1.linux-amd64]# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: 0 rule files found
./promtool check config prometheus.yml
6、grafana导入图表并配置
导入事先准备好的仪表盘模板,提示grafana中仪表盘文件最终都是json文件,方便导入导出的。表盘在github项目的doc目录下
下载地址:https://github.com/gaoyuan98/dameng_exporter/tree/master/doc
效果图: