Dameng Exporter 是一个专为达梦数据库(DM8)设计的 Prometheus 监控数据采集器,提供全面的数据库性能指标采集和监控能力。
在使用Dameng Exporter之前需要先安装以下内容
其中安装达梦数据库的步骤略过
这里以银河麒麟为例,首先查看操作系统内核,确定是不是amd64(x86_64),或者是arm64
uname -a
cat /proc/version
cat /etc/kylin-release

然后在这里选择对应操作系统的prometheus预编译安装包,下载并解压
tar -zxvf prometheus-3.5.5.linux-amd64.tar.gz
mv prometheus-3.5.5.linux-amd64 /usr/local/prometheus
cd /usr/local/prometheus && ls

修改配置文件,让 prometheus 监控自己,验证 prometheus 安装效果
static_configs:
- targets: ["192.168.42.145:9090"]

检查配置文件是否修改正确
./promtool check config prometheus.yml
应出现如下字样

设置prometheus为系统服务,使其开机自启动
vi /usr/lib/systemd/system/prometheus.service
写入如下内容:
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
[Service]
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data
[Install]
WantedBy=multi-user.target
启用prometheus系统服务并启动
systemctl enable prometheus
systemctl start prometheus
systemctl status prometheus
ss -ntulp | grep 9090

访问localhost:9090即可打开本机prometheus的webUI,可以看到prometheus已经在监控自身了

访问https://grafana.com/grafana/download,在其中找到对应自己linux系统的下载命令,这里我使用的是银河麒麟server10,需要用yum命令安装
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.27-1.x86_64.rpm

启用 grafana 系统服务并立刻启动
systemctl enable grafana-server
systemctl start grafana-server
systemctl status grafana-server
ss -utnlp | grep grafana

访问localhost:3000打开grafana的webUI,检验安装效果,默认账号密码为admin/admin

现在没有数据是因为没有配置数据源
从代码构建DamengExporter时才需要安装
yum install -y golang
但最新的版本只到1.15.7
如果想要编译安装dameng_exporter,需要使用1.23版本
# 下载
wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz -O /tmp/go.tar.gz
# 解压
tar -C /usr/local -xzf /tmp/go.tar.gz
# 临时添加path
export PATH=/usr/local/go/bin:$PATH
go version
至此,已经做好了部署exporter的前期准备,开始部署exporter
有三种方式,这里以下载预编译版本为例
访问release页面下载对应平台的版本,并解压
# Linux amd64执行
https://github.com/gaoyuan98/dameng_exporter/releases/download/v1.2.5/dameng_exporter_v1.2.5_20260413_linux_amd64.tar.gz
# Linux arm64执行
https://github.com/gaoyuan98/dameng_exporter/releases/download/v1.2.5/dameng_exporter_v1.2.5_20260413_linux_arm64.tar.gz
# Windows amd64执行
https://github.com/gaoyuan98/dameng_exporter/releases/download/v1.2.5/dameng_exporter_v1.2.5_20260413_windows_amd64.tar.gz
# 解压
tar -xzf dameng_exporter_v1.2.5_20260413_linux_amd64.tar.gz
建议在达梦数据库中创建专用监控用户,也可以用SYSDBA等其他用户
-- 创建表空间和用户(可以使用任意用户名,这里以 MONITOR_USER 为例)
CREATE TABLESPACE "MONITOR_TS" DATAFILE 'MONITOR_TS.DBF' SIZE 512 CACHE = NORMAL;
CREATE USER "MONITOR_USER" IDENTIFIED BY "Dameng123";
ALTER USER "MONITOR_USER" DEFAULT TABLESPACE "MONITOR_TS" DEFAULT INDEX TABLESPACE "MONITOR_TS";
授权时有两种做法
GRANT DBA TO "MONITOR_USER";
GRANT "PUBLIC","RESOURCE","SOI","SVI","VTI" TO "MONITOR_USER";
GRANT SELECT ON V$SYSSTAT TO MONITOR_USER;
GRANT SELECT ON V$SESSIONS TO MONITOR_USER;
GRANT SELECT ON V$LICENSE TO MONITOR_USER;
GRANT SELECT ON V$DATABASE TO MONITOR_USER;
GRANT SELECT ON V$DM_INI TO MONITOR_USER;
GRANT SELECT ON V$RLOGFILE TO MONITOR_USER;
GRANT SELECT ON V$RLOG TO MONITOR_USER;
GRANT SELECT ON V$TABLESPACE TO MONITOR_USER;
GRANT SELECT ON V$DATAFILE TO MONITOR_USER;
GRANT SELECT ON DBA_DATA_FILES TO MONITOR_USER;
GRANT SELECT ON DBA_FREE_SPACE TO MONITOR_USER;
GRANT SELECT ON V$TRXWAIT TO MONITOR_USER;
GRANT SELECT ON V$CKPT TO MONITOR_USER;
GRANT SELECT ON V$RAPPLY_SYS TO MONITOR_USER;
GRANT SELECT ON V$RAPPLY_STAT TO MONITOR_USER;
GRANT SELECT ON V$PROCESS TO MONITOR_USER;
GRANT SELECT ON V$LOCK TO MONITOR_USER;
GRANT SELECT ON V$THREADS TO MONITOR_USER;
GRANT SELECT ON V$INSTANCE_LOG_HISTORY TO MONITOR_USER;
GRANT SELECT ON V$ARCH_FILE TO MONITOR_USER;
GRANT SELECT ON V$DMWATCHER TO MONITOR_USER;
GRANT SELECT ON V$INSTANCE TO MONITOR_USER;
GRANT SELECT ON V$BUFFERPOOL TO MONITOR_USER;
GRANT SELECT ON V$ARCH_SEND_INFO TO MONITOR_USER;
GRANT SELECT ON V$ARCH_STATUS TO MONITOR_USER;
GRANT SELECT ON V$ARCH_APPLY_INFO TO MONITOR_USER;
GRANT SELECT ON V$PURGE TO MONITOR_USER;
GRANT SELECT ON V$DYNAMIC_TABLES TO MONITOR_USER;
GRANT SELECT ON V$DYNAMIC_TABLE_COLUMNS TO MONITOR_USER;
GRANT SELECT ON V$DB_CACHE TO MONITOR_USER;
GRANT SELECT ON V$ARCH_QUEUE TO MONITOR_USER;
GRANT SELECT ON v$dm_mal_ini TO MONITOR_USER;
GRANT SELECT ON V$ASMGROUP TO MONITOR_USER;
-- 如果是DSC环境,还要授予对应动态性能视图查看权限
GRANT SELECT ON V$DSC_EP_INFO TO MONITOR_USER;
-- 如果是DPC环境,还要授予对应实例信息查看权限
GRANT SELECT ON DPC_INSTANCE TO MONITOR_USER;
编辑dameng_exporter.toml,配置达梦数据源,示例如下
# 单数据源配置
[[datasource]]
name = "dm_prod"
dbHost = "192.168.1.100:5236"
dbUser = "MONITOR_USER"
dbPwd = "Dameng123"
# 多数据源配置示例
[[datasource]]
name = "dm_prod"
dbHost = "192.168.1.100:5236"
dbUser = "MONITOR_USER"
dbPwd = "SYSDBA123"
labels = "env=prod,region=beijing" # 可选:用于 Grafana 面板过滤
[[datasource]]
name = "dm_test"
dbHost = "192.168.1.101:5236"
dbUser = "MONITOR_USER"
dbPwd = "TestPassword"
labels = "env=test,region=shanghai" # 可选:用于 Grafana 面板过滤
# 如需更多配置选项,请参考:docs/documents/参数配置指南.md
然后启动服务
# linux执行
chmod +x dameng_exporter
nohup ./dameng_exporter --configFile=dameng_exporter.toml > /dev/null 2>&1 &
# windows执行
dameng_exporter.exe --configFile=dameng_exporter.toml
启动后通过localhost:9200/metrics查看效果
curl http://localhost:9200/metrics

./dameng_exporter \
--dbHost="192.168.1.100:5236" \
--dbUser="MONITOR_USER" \
--dbPwd="Dameng123" \
--listenAddress=":9200" \
--logLevel="info"
# 使用配置文件方式
docker run -d --name dameng_exporter \
-p 9200:9200 \
-v $(pwd)/dameng_exporter.toml:/app/dameng_exporter.toml \
-v $(pwd)/custom_metrics.toml:/app/custom_metrics.toml \
gaoyuan98/dameng_exporter:latest
# 使用命令行参数方式
docker run -d --name dameng_exporter \
-p 9200:9200 \
gaoyuan98/dameng_exporter:latest \
--dbHost="192.168.1.100:5236" \
--dbUser="MONITOR_USER" \
--dbPwd="Dameng123"
编辑Prometheus配置文件prometheus.yml,使其从dameng exporter监控信息
scrape_configs:
# 单个 Exporter 实例
- job_name: "dameng_exporter"
static_configs:
- targets: ["192.168.1.145:9200"]
然后重启prometheus
systemctl restart prometheus
可以在Prometheus的管理页面看到该信息


至此数据沿着DM数据库->DamengExporter->Prometheus->grafana传输,可以在grafana实时可视化监控达梦数据库运行状态
cp docs/prometheus_告警规则/rules/*.yml /etc/prometheus/rules/
cp docs/alertmanager/*.yml /etc/alertmanager/
文章
阅读量
获赞
