达梦运维工具-DEM搭建

运维监控工具-DEM

前言

根据达梦官网文档整理

一、工具介绍

DM企业管理器(DM Enterprise Manager,简称为DEM)提供一个通过Web 界面来监控、管理并维护DM数据库的集中式管理平台。数据库管理员可通过任意Web应用登录DEM,从而对DM数据库进行管理和监控。DEM主要有集群部署、自动巡检、监控和告警等功能。

1、DEM架构

DEM由以下几个部分组成:

  • DEM 服务器:指 DEM 应用服务器,负责处理客户端工具功能逻辑并存储 dmagent 收集到的数据到 DEM 存储数据库,同时向客户端展示监控数据。
  • DEM 存储数据库:存储 DEM 的元数据和 dmagent 收集到的监控数据。
  • 数据库实例:需要被管理监控的数据库实例。
  • 数据库代理服务(dmagent):部署在远程机器上的代理,DEM 通过 dmagent 访问远程主机,同时 dmagent 收集监控信息发送给 DEM。

DEM系统架构图如下:

在这里插入图片描述

2、DEM功能

  • 客户端工具。用户能够通过 DEM 工具来进行 DM 数据库的对象管理、状态监控、SQL 查询与调试。
  • 监控与告警。本功能是 DEM 工具的核心功能。通过远程主机部署代理,能够实现对远程主机状态和远程主机上 DM 数据库实例状态的监控。DEM 监控功能不仅仅局限于单个数据库实例,还能够对数据库集群(MPP、RAC、数据守护等)进行监控和管理。
  • 系统管理。DEM 工具提供了工具本身的系统配置与权限管理,方便不同用户同时使用工具,也可限制非 admin 用户的权限。

二、环境准备

DEM 部署需要准备:

1、DEM WAR包

自己下载

2、Tomcat

自备,要求与部署的系统环境相匹配

3、JAVA1.8

DEM和dmagent所在机器需要配置 JAVA环境,JAVA版本必须为JAVA 1.8。若系统中不带 jdk 环境可以在环境变量中指定数据库中的 jdk 目录即可,如下所示:

[root@localhost ~]# cat /etc/profile
export JAVA_HOME=/home/dmdba/dmdbms/jdk
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4、达梦数据库

为DEM的后台数据库,需保证DEM 所在机器能访问达梦数据库。

在部署dmagent之前,需设置DEM和dmagent所在服务器主机的时间同步。如果没有,则不设置,正式环境建议要配置时间同步

如下以 10.10.10.10 为 ntp 服务器为例,设置定时任务:

[root@localhost ~]# crontab -l
# Time sync
0,10,20,30,40,50 * * * * /root/sync_time.sh
[root@localhost ~]# cat /root/sync_time.sh 
#!/bin/bash
. /etc/profile
. /root/.bash_profile
ntpdate 10.10.10.10 ; hwclock –w

5、网络规划

主机IP
DEM(DEM服务器)192.168.100.40
DW01(达梦数据守护集群主库)192.168.100.30
DW02(达梦数据守护集群备库)192.168.100.31
DWM(达梦数据守护集群监视器)192.168.100.32

三、DEM部署步骤

1、初始化数据库

1.1 创建后台数据库

创建一个 DM 数据库作为 DEM 后台数据库,初始化参数不做要求,默认即可,并对数据库的 dm.ini 参数配置进行优化,推荐配置如下:

MEMORY_POOL         	=  200
BUFFER                =  1000
KEEP                  =  64
SORT_BUF_SIZE         =  50
1.2 执行初始化脚本

在创建的后台数据库中用 SYSDBA(或管理员用户)执行 SQL 脚本 dem_init.sql,脚本在DEM安装包中(此 SQL 脚本编码为 UTF-8,若使用 disql 执行 SQL 脚本,请先设置 set CHAR_CODE UTF8)。执行完脚本后,在后台数据库中会生成一个 DEM 的模式,存放 DEM 运行所需要的表和视图。

SQL> SET CHAR_CODE UTF8;
SQL> START /home/dmdba/dem_init.sql

2、配置Tomcat

2.1 解压Tomcat

解压tomcat包,解压tomcat之后,会生成以下目录:

[dmdba@DEM tomcat]$ ll
总用量 136
drwxr-xr-x  9 dmdba dinstall   220 214 08:15 .
drwx------. 7 dmdba dinstall   184 33 23:39 ..
drwxr-xr-x  2 dmdba dinstall  4096 33 23:39 bin
-rw-r--r--  1 dmdba dinstall 21516 214 08:15 BUILDING.txt
drwxr-xr-x  3 dmdba dinstall   254 33 23:39 conf
-rw-r--r--  1 dmdba dinstall  6375 214 08:15 CONTRIBUTING.md
drwxr-xr-x  2 dmdba dinstall  4096 214 08:15 lib
-rw-r--r--  1 dmdba dinstall 58153 214 08:15 LICENSE
drwxr-xr-x  2 dmdba dinstall   197 33 23:39 logs
-rw-r--r--  1 dmdba dinstall  2401 214 08:15 NOTICE
-rw-r--r--  1 dmdba dinstall  3422 214 08:15 README.md
-rw-r--r--  1 dmdba dinstall  7075 214 08:15 RELEASE-NOTES
-rw-r--r--  1 dmdba dinstall 16982 214 08:15 RUNNING.txt
drwxr-xr-x  2 dmdba dinstall    30 214 08:15 temp
drwxr-xr-x  8 dmdba dinstall   107 33 23:39 webapps
drwxr-xr-x  3 dmdba dinstall    22 33 23:39 work
2.2 修改Tomcat配置
2.2.1 修改conf/server.xml

在conf/server.xml配置文件中<Connector port=“8080” protocol=“HTTP/1.1”… 位置处添加属性字段 maxPostSize=“-1”:

<Connector port="8080" protocol="HTTP/1.1" maxPostSize="-1"connectionTimeout="20000"redirectPort="8443" />
2.2.2 bin/*.sh赋予执行权限
$ chmod u+x bin/*.sh
2.2.3 修改bin/catalina.sh

在内容cygwin=false前面添加这行

[dmdba@dem bin]$ vi catalina.sh 
# Linux:bin/catalina.sh
JAVA_OPTS="-server -Xms256m -Xmx1024m -Djava.library.path=/home/dmdba/dmdbms/bin"
# Windows:bin/catalina.bat
set java_opts= -server -Xms40m -Xmx1024m -Djava.library.path=c:\dmdbms\bin

注意:

/home/dmdba/dmdbms/bin根据自己实际路径填写


3、配置dem.war包

3.1 解压dem.war包
$ unzip -oq dem.war -d ~/dem	
$ ls -lF ~/dem
总用量 60
-rw-r--r-- 1 dmdba dinstall  1369 1214 14:46 auto_login_error.jsp
drwxr-xr-x 8 dmdba dinstall  8192 1214 14:56 dem/
-rw-r--r-- 1 dmdba dinstall  5100 1214 14:46 Dem.html
drwxr-xr-x 9 dmdba dinstall   225 1214 14:56 dmagent/
-rw-r--r-- 1 dmdba dinstall  1064 1214 14:46 error.html
-rw-r--r-- 1 dmdba dinstall  1482 1214 14:46 error.jsp
-rw-r--r-- 1 dmdba dinstall  1560 1214 14:46 favicon.png
drwxr-xr-x 2 dmdba dinstall    27 1214 14:56 font/
drwxr-xr-x 4 dmdba dinstall    34 1214 14:56 help/
drwxr-xr-x 6 dmdba dinstall 16384 1214 14:56 images/
drwxr-xr-x 2 dmdba dinstall  4096 1214 14:56 jdbcdriver/
drwxr-xr-x 5 dmdba dinstall    87 1214 14:56 js/
drwxr-xr-x 2 dmdba dinstall     6 1214 14:46 log/
drwxr-xr-x 2 dmdba dinstall    25 34 00:12 META-INF/
drwxr-xr-x 8 dmdba dinstall    89 1214 14:56 resources/
drwxr-xr-x 2 dmdba dinstall    55 1214 14:56 theme/
drwxr-xr-x 6 dmdba dinstall   128 34 00:17 WEB-INF/		
3.2 修改WEB-INF/db.xml配置

修改WEB-INF/db.xml文件,配置后台数据库连接信息

<?xml version="1.0" encoding="UTF-8"?>
<ConnectPool><Server>127.0.0.1</Server>   <!--DEM后台数据库IP--><Port>5236</Port><User>SYSDBA</User><Password>SYSDBA</Password><InitPoolSize>5</InitPoolSize><CorePoolSize>10</CorePoolSize><MaxPoolSize>50</MaxPoolSize><KeepAliveTime>60</KeepAliveTime><DbDriver></DbDriver><DbTestStatement>select 1</DbTestStatement><SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir><SSLPassword></SSLPassword>
</ConnectPool>
3.3 重新打包dem.war
$ cd ~/dem && ~/dmdbms/jdk/bin/jar -cvf dem.war * && mv dem.war ~/ && rm -rf ~/dem
3.4 移动dem.war包

将dem.war包放置在Tomcat的webapps目录下,启动Tomcat,会自动解压war包生成dem目录。

$ mv ~/dem.war ~/tomcat/webapps
3.5 配置DEM日志级别(可选)

在tomcat的webapps/dem/WEB-INF目录下,log4j.xml文件控制着日志级别。LOG_LEVEL参数控制日志的显示信息,LOG_MAX_SIZE,LOG_MAX_COUNT,LOG_PRESERVE_DURATION这3个参数动态组合控制日志量和日志保存的最大大小,超过这个最大大小的日志会被删除。
日志最大大小 = L O G _ M A X _ S I Z E × L O G _ M A X _ C O U N T × L O G _ P R E S E R V E _ D U R A T I O N 日志最大大小= LOG\_MAX\_SIZE × LOG\_MAX\_COUNT × LOG\_PRESERVE\_DURATION 日志最大大小=LOG_MAX_SIZE×LOG_MAX_COUNT×LOG_PRESERVE_DURATION

注意:

tomcat启动后会自动解压webapps/dem.war包,生成dem文件夹

在DEM调试和查找问题时,LOG_LEVEL可以使用DEBUG或者ALL参数,生产环境平时建议使用ERROR级别。根据项目的实际需要和磁盘的可用大小,调整LOG_MAX_SIZE,LOG_MAX_COUNT,LOG_PRESERVE_DURATION这3个参数的大小,避免出现磁盘爆盘的现象。此配置文件重启Tomcat之后才能生效


<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF"><Properties><!-- 项目名称,同时也是日志文件的前缀 --><Property name="PROJECT_NAME" value="dem" /><!-- 日志级别(ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF) --><Property name="LOG_LEVEL" value="ERROR" /><!-- 每份日志文件的最大体积,需要提供单位(B | KB | MB | GB 等) --><Property name="LOG_MAX_SIZE" value="100 MB" /><!-- 每天日志最大份数,如果达到最大份数,当天较早的日志会被移除 --><Property name="LOG_MAX_COUNT" value="10" /><!-- 备份日志最长保存时间(天) --><Property name="LOG_PRESERVE_DURATION" value="30" /><!-- 日志保存目录 --><Property name="LOG_FILE_PATH" value="${sys:DEMLogDir:-log}" /><!-- 日志前缀 --><Property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} %n[%p] %m%n" /></Properties><Appenders><Console name="CONSOLE" target="SYSTEM_OUT"><ThresholdFilter level="ALL" /><PatternLayout pattern="${LOG_PATTERN}" /></Console><RollingRandomAccessFile name="FILE"append="true" immediateFlush="false" bufferSize="512"fileName="${LOG_FILE_PATH}/${PROJECT_NAME}.log"filePattern="${LOG_FILE_PATH}/${PROJECT_NAME}-%d{yyyy-MM-dd}-%i.log.gz"filePermissions="rw-rw-rw-"><ThresholdFilter level="ALL" /><PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8" /><Policies><TimeBasedTriggeringPolicy modulate="true" interval="1" /><SizeBasedTriggeringPolicy size="${LOG_MAX_SIZE}" /></Policies><DefaultRolloverStrategy max="${LOG_MAX_COUNT}"><Delete basePath="${LOG_FILE_PATH}" maxDepth="1"><IfFileName glob="${PROJECT_NAME}*.log.gz" /><IfLastModified age="${LOG_PRESERVE_DURATION}d" /></Delete></DefaultRolloverStrategy></RollingRandomAccessFile></Appenders><Loggers><AsyncRoot level="${LOG_LEVEL}"><AppenderRef ref="CONSOLE" /><AppenderRef ref="FILE" /></AsyncRoot></Loggers>
</Configuration>

4、启动tomcat

在bin目录下执行脚本启动tomcat

[dmdba@DEM bin]$ ./startup.sh
Using CATALINA_BASE:   /home/dmdba/tomcat
Using CATALINA_HOME:   /home/dmdba/tomcat
Using CATALINA_TMPDIR: /home/dmdba/tomcat/temp
Using JRE_HOME:        /
Using CLASSPATH:       /home/dmdba/tomcat/bin/bootstrap.jar:/home/dmdba/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

5、访问DEM

本机ip为192.168.100.40,开启浏览器访问url(http://192.168.10.40:8080/dem),登录(admin/888888)

在这里插入图片描述


四、部署dmagent

1、获取dmagent

获取dmagent,有两种方式:

  • 被监控的机子,达梦数据库安装目录的 tool 下存有 dmagent
  • 登录部署好的 DEM,资源包模块下载dmagent

在这里插入图片描述

2、修改dmagent配置

配置 dmagent 目录下的 agent.ini

center_url  =  http://192.168.100.40:8080/dem    #dem所在机器的地址     

3、配置dmagent日志级别

同样是修改dmagent 目录下的 log4j.xml文件,修改方法和配置与dem端一样

4、注册dmagent服务(使用root用户)

$ cd /home/dmdba/dmdbms/dmagent
$ ./service.sh install
input agent home [/home/dmdba/dmdbms/dmagent] :
input agent.ini path [/home/dmdba/dmdbms/dmagent/agent.ini] :
Installation the service DmAgentService completed.

5、启动dmagent服务

$ systemctl start DmAgentService

6、DEM查看

dmagent配置正确的话,就能在DEM资源监控模块就能看到你启动了agent的机器了

在这里插入图片描述

达梦社区:https://eco.dameng.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/508161.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 多桌面图标启动, 爬坑点击打开不同页面

备注 &#xff1a; MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的&#xff0c;即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成&#xff1a;android:launchMode"singleTask" 点击顺序&#xff1…

2024最新AI系统ChatGPT网站源码, AI绘画系统

一、前言说明 R5Ai创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GP…

代码随想录算法训练营第46天| Leetcode 139.单词拆分、卡码网 56. 携带矿石资源(附带多重背包的基本解法和优化)

文章目录 Leetcode 139.单词拆分卡码网 56. 携带矿石资源方法一&#xff1a; 分组转化成01背包方法二&#xff1a; 转化成01背包完全背包&#xff08;基于方法一的小优化&#xff09;方法三&#xff1a; 二进制优化&#xff08;优化了方法一的分组方式&#xff09; Leetcode 13…

Pygame教程01:初识pygame游戏模块

Pygame是一个用于创建基本的2D游戏和图形应用程序。它提供了一套丰富的工具&#xff0c;让开发者能够轻松地创建游戏和其他图形应用程序。Pygame 支持许多功能&#xff0c;包括图像和声音处理、事件处理、碰撞检测、字体渲染等。 Pygame 是在 SDL&#xff08;Simple DirectMed…

Effective objective-c-- 内存管理

Effective objective-c-- 内存管理 前言理解引用计数引用计数工作原理属性存取方法中的内存管理自动释放池保留环要点 以ARC简化引用计数使用ARC时必须遵循的方法和命名规则变量的内存管理语义ARC如何清理实例变量覆写内存管理方法要点 在dealloc方法中只释放引用并解除监听要点…

智能汽车加速车规级存储应用DS2431P+TR 汽车级EEPROM 存储器IC

DS2431PT&R是一款1024位1-Wire EEPROM芯片&#xff0c;由四页存储区组成&#xff0c;每页256位。数据先被写入一个8字节暂存器中&#xff0c;经校验后复制到EEPROM存储器。该器件的特点是&#xff0c;四页存储区相互独立&#xff0c;可以单独进行写保护或进入EPROM仿真模式…

实践航拍小目标检测,基于轻量级YOLOv7tiny开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

C语言冒泡排序(高级版)

目录: 冒泡排序的原理 主函数 "冒泡排序函数" 比较函数 交换函数 最终输出 完整代码 冒泡排序的原理: 冒泡排序的原理是&#xff1a;从左到右&#xff0c;相邻元素进行比较。每次比较一轮&#xff0c;就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右…

Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

Linux之相对路径、绝对路径、特殊路径符

相对路径和绝对路径 cd /root/temp 绝对路径写法 cd temp 相对路径写法 1、绝对路径&#xff1a;以根目录为起点&#xff0c;描述路径的一种写法&#xff0c;路径描述以 / 开头。 2、相对路径&#xff1a;以当前目录为起点&#xff0c;路径描述无需以 / 开头。 特殊路径符 如…

基于Java的超市商品管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品类型…