注册
DamengExporter安装使用流程
专栏/技术分享/ 文章详情 /

DamengExporter安装使用流程

青空 2026/09/18 286 0 0
摘要

1. 背景介绍

Dameng Exporter 是一个专为达梦数据库(DM8)设计的 Prometheus 监控数据采集器,提供全面的数据库性能指标采集和监控能力。

2. 部署参考

2.1. 环境准备:

在使用Dameng Exporter之前需要先安装以下内容

  • 达梦数据库 DM8 或以上版本
  • Prometheus 2.0+
  • Grafana 8.5+
  • Go 1.23+

其中安装达梦数据库的步骤略过

2.1.1. 安装和检查Prometheus

这里以银河麒麟为例,首先查看操作系统内核,确定是不是amd64(x86_64),或者是arm64

uname -a
cat /proc/version
cat /etc/kylin-release

image.png

然后在这里选择对应操作系统的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

image.png

修改配置文件,让 prometheus 监控自己,验证 prometheus 安装效果

static_configs:
  - targets: ["192.168.42.145:9090"]

image.png

检查配置文件是否修改正确

./promtool check config prometheus.yml

应出现如下字样

image.png

设置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

image.png

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

image.png

2.1.2. 安装Grafana

访问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

image.png

启用 grafana 系统服务并立刻启动

systemctl enable grafana-server
systemctl start grafana-server
systemctl status grafana-server
ss -utnlp | grep grafana

image.png

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

image.png

现在没有数据是因为没有配置数据源

2.1.3. 安装Go(可选

从代码构建DamengExporter时才需要安装

2.1.3.1. 通过麒麟软件源安装

yum install -y golang

但最新的版本只到1.15.7

如果想要编译安装dameng_exporter,需要使用1.23版本

2.1.3.2. 下载go官方预编译的安装包

# 下载
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

2.2. 部署exporter

至此,已经做好了部署exporter的前期准备,开始部署exporter

2.2.1. 下载安装

有三种方式,这里以下载预编译版本为例

2.2.1.1. 方式一:下载预编译版本

访问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

2.2.2. 创建数据库用户

建议在达梦数据库中创建专用监控用户,也可以用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";

授权时有两种做法

  1. 可以授予DBA权限,可以简化权限管理
GRANT DBA TO "MONITOR_USER";
  1. 如果是生产环境,推荐授予最小权限,并授予必要的系统视图查询权限,
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;

2.2.3. 部署exporter

方式一,使用配置文件(推荐)

编辑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

image.png

方式二:使用命令行参数

./dameng_exporter \
  --dbHost="192.168.1.100:5236" \
  --dbUser="MONITOR_USER" \
  --dbPwd="Dameng123" \
  --listenAddress=":9200" \
  --logLevel="info"

方式三:docker部署

# 使用配置文件方式
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"

2.3. 配置prometheus

编辑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的管理页面看到该信息

image.png

2.4. 配置grafana的Prometheus数据源

  1. 登录Grafana
  2. 在左侧Configuration里选择Data source,添加Prometheus数据源,填写http url为Prometheus配置的端口(http://localhost:9090),其他保持默认不变即可
  3. 在左侧Create内选择Import,导入DamengExporter目录内自带的面板文件(dashboards/达梦监控面板_20251204.json),数据源选择刚刚配置的Prometheus数据源

image.png

至此数据沿着DM数据库->DamengExporter->Prometheus->grafana传输,可以在grafana实时可视化监控达梦数据库运行状态

配置告警(可选)

  1. 复制告警规则到 Prometheus:
cp docs/prometheus_告警规则/rules/*.yml /etc/prometheus/rules/
  1. 配置 AlertManager:
cp docs/alertmanager/*.yml /etc/alertmanager/
  1. 重启服务生效

4. 附录

4.1. 参考:

  1. 国产银河麒麟操作系统部署Prometheus监控平台和Grafana数据可视化服务-CSDN博客
  2. 开始使用 | Prometheus - Prometheus 监控系统
  3. GitHub - gaoyuan98/dameng_exporter: 达梦数据库的exporter采集器 ,可对接prometheus+grafana 提供表盘 · GitHub
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服