本次将 DEM 单机部署在本地 CentOS 7 虚拟机,DEM 服务、DEM 存储库、dmagent 和被监控数据库均在同一台机器上。
| 项目 | 环境配置 |
|---|---|
| 操作系统 | CentOS Linux 7.9.2009 x86_64 |
| 主机地址 | 192.168.248.130 |
| 内存 | 约 3 GB,另有 3 GB Swap |
| DM 数据库 | DAMENG |
| DM 端口 | 5236 |
| DM 安装目录 | /home/dmdba/dmdbms |
| 数据库配置文件 | /dmdata/DAMENG/dm.ini |
| DEM 版本 | V9.1.1,2026-08-25 |
| DEM 安装目录 | /home/dmdba/dmdem |
| DEM 访问地址 | http://192.168.248.130:8080/dem/ |
| dmagent 端口 | 6363、6364 |
部署关系:
浏览器
│
▼
DEM(Tomcat + dem.war)
│
├── 连接本机 DM8,保存 DEM 自身数据
│
└── 接收本机 dmagent 上报的数据
│
└── 监控本机 DAMENG 数据库
检查系统、资源和端口:
cat /etc/centos-release
uname -m
free -h
df -h /
ps -ef | grep '[d]mserver'
ss -lntp | grep 5236
ss -lntp | grep -E ':(8080|8005|6363|6364)[[:space:]]'
上传安装包:
/home/dmdba/software/dem911/dem_setup_20260825_x86_linux_64_9.1.1.zip
解压:
su - dmdba
cd /home/dmdba/software/dem911
unzip dem_setup_20260825_x86_linux_64_9.1.1.zip -d setup
安装包中包含 DEM、Tomcat 9.0.113、OpenJDK 11.0.22、dem_init.sql 和 dmagent,以下使用包内组件进行 WAR 部署。
连接本机数据库:
/home/dmdba/dmdbms/bin/disql SYSDBA/<数据库密码>@127.0.0.1:5236
执行初始化脚本:
SET DEFINE OFF;
SET CHAR_CODE UTF8;
START /home/dmdba/software/dem911/setup/source/resources/dem_init.sql
注意:这里的 START 后面不加分号。加上分号后,当前版本的 disql 会把分号当成文件名的一部分,报“无效的文件路径”。
初始化完成后验证:
SELECT COUNT(*) FROM DEM.ADMIN_USER;
将安装包中的 source 复制到 DEM 运行目录:
cp -a /home/dmdba/software/dem911/setup/source /home/dmdba/dmdem
chown -R dmdba:dinstall /home/dmdba/dmdem
解压内置 Tomcat:
cd /home/dmdba/dmdem/server
unzip apache-tomcat-9.0.113.zip
cp -a apache-tomcat-9.0.113/. ./
部署并解压 dem.war:
cp /home/dmdba/dmdem/webapp/dem.war \
/home/dmdba/dmdem/server/webapps/dem.war
mkdir -p /home/dmdba/dmdem/server/webapps/dem
cd /home/dmdba/dmdem/server/webapps/dem
unzip -q ../dem.war
先备份配置文件:
cp -p /home/dmdba/dmdem/server/webapps/dem/WEB-INF/db.xml \ /home/dmdba/dmdem/server/webapps/dem/WEB-INF/db.xml.bak
修改 WEB-INF/db.xml:
<ConnectPool>
<Url>jdbc:dm://127.0.0.1:5236?lobFetchOptimize=true</Url>
<User>SYSDBA</User>
<Password>数据库密码</Password>
</ConnectPool>
db.xml 中保存了数据库密码,限制文件权限:
chmod 600 /home/dmdba/dmdem/server/webapps/dem/WEB-INF/db.xml chown dmdba:dinstall /home/dmdba/dmdem/server/webapps/dem/WEB-INF/db.xml
备份并修改 server.xml:
cp -p /home/dmdba/dmdem/server/conf/server.xml \ /home/dmdba/dmdem/server/conf/server.xml.bak
在 8080 的 Connector 中增加 maxPostSize="-1":
<Connector port="8080" protocol="HTTP/1.1" maxPostSize="-1"
connectionTimeout="20000"
redirectPort="8443" />
su - dmdba -c '/home/dmdba/dmdem/bin/start.sh'
ss -lntp | grep 8080
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/dem/
tail -100 /home/dmdba/dmdem/server/logs/catalina.out
浏览器访问:
http://192.168.248.130:8080/dem/
初始化后的登录账号为 admin/888888,登录后修改默认密码。
mkdir -p /home/dmdba/dmdem/agent unzip -q /home/dmdba/dmdem/resources/agent/dmagent-9.1.1.zip \ -d /home/dmdba/dmdem/agent chown -R dmdba:dinstall /home/dmdba/dmdem/agent chmod +x /home/dmdba/dmdem/agent/*.sh
cp -p /home/dmdba/dmdem/agent/agent.ini \ /home/dmdba/dmdem/agent/agent.ini.bak
修改以下参数:
center_url = http://192.168.248.130:8080/dem
ip_list = [192.168.248.130]
dm_bin_path = /home/dmdba/dmdbms/bin
service_enable = true
gather_enable = true
几个参数的作用:
| 参数 | 作用 |
|---|---|
center_url |
dmagent 向哪个 DEM 上报数据 |
ip_list |
本机需要登记到 DEM 的 IP |
dm_bin_path |
DM 命令和动态库所在目录 |
gather_enable |
开启主机、数据库等信息采集 |
service_enable |
开启远程服务插件 |
本版本 start.sh 中默认值为:
JAVA_MEM_OPTS="-Xms6g -Xmx6g"
虚拟机只有约 3 GB 内存,不能使用该默认值,改为:
JAVA_MEM_OPTS="-Xms256m -Xmx512m"
DEM 存储库和 dmagent 的 service_key 必须一致。下面统一使用自定义值表示,不在文档中记录实际密钥。
DEM 库中设置:
UPDATE DEM.ADMIN_CONFIG
SET VAL = '<自定义 service_key>'
WHERE NAME = 'service_key';
COMMIT;
Agent 端生成密钥文件:
cd /home/dmdba/dmdem/agent
./start.sh INSTALL_SERVICE_KEY '<自定义 service_key>'
生成文件:
/home/dmdba/dmdem/agent/service.key
两端配置完成后,重启 DEM 和 dmagent。
先用进程方式启动,确认配置没有问题:
su - dmdba -c \
'cd /home/dmdba/dmdem/agent && ./start.sh -d /home/dmdba/dmdem/agent/agent.ini'
确认 6363、6364 正常监听。停止刚才的测试进程,再由 root 注册服务:
cd /home/dmdba/dmdem/agent
./service.sh install
按提示填写:
agent home:/home/dmdba/dmdem/agent
agent.ini:/home/dmdba/dmdem/agent/agent.ini
service user:dmdba
启动和检查:
./service.sh start
./service.sh status
ss -lntp | grep -E ':(6363|6364)[[:space:]]'
dmagent 启动后,DEM 首页出现主机 192.168.248.130。
进入:
监控 → 数据库 → 添加
集群类型选择 DB(单实例),再手动添加实例:
填写内容:
| 项目 | 值 |
|---|---|
| 类型 | DB |
| 主机 | 192.168.248.130 |
| 端口 | 5236 |
| 用户 | SYSDBA |
| 名称 | DAMENG |
填写完成后先点“测试”,再保存实例和外层单实例配置。刚保存时状态显示“未知”,大约一分钟后刷新,状态恢复正常。
监控结果:
数据库数量:1
连接状态:正常
实例状态:OPEN
模式:NORMAL
主机数量:1
DEM 启动:
su - dmdba -c '/home/dmdba/dmdem/bin/start.sh'
DEM 停止:
su - dmdba -c '/home/dmdba/dmdem/bin/stop.sh'
dmagent:
cd /home/dmdba/dmdem/agent
./service.sh start
./service.sh stop
./service.sh restart
./service.sh status
常用检查:
ps -ef | grep '[j]ava'
ss -lntp | grep -E ':(8080|6363|6364)[[:space:]]'
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/dem/
tail -100 /home/dmdba/dmdem/server/logs/catalina.out
启动顺序:
DM8 存储库 → DEM → dmagent
停止时顺序相反。
文章
阅读量
获赞
