ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DM8 达梦数据库|DEM 企业管理系统搭建与监控实操全流程

DM8 达梦数据库|DEM 企业管理系统搭建与监控实操全流程 摘要DEMDM Enterprise Manager达梦企业管理系统是达梦公司研发的、基于 B/S 架构的数据库综合管理系统用于集中管理主机与数据库数据库管理员可通过任意 Web 浏览器登录 DEM 对达梦数据库实例进行监控、管理与维护。本文基于本周实操完整整理 DEM 从环境准备、后台数据库初始化、Tomcat 与 DEM 连接配置、dmagent 部署、登录验证到主机 / 实例监控、告警配置、集群监控等功能的实操全流程并汇总运维注意事项与常见问题排查方法可作为 DEM 部署上线的参考基线。1 环境准备1.1 环境信息说明本报告全部实操基于达梦数据库DM8环境整理部署步骤与命令来自达梦官方部署文档文中涉及的验证输出均为典型示例具体输出会因版本、路径与硬件配置不同而变化重点是理解方法本身项目版本 / 说明数据库版本达梦数据库 DM8JDKJava 1.8应用服务器Tomcat 8/9安装包DEM WAR 包位于达梦安装目录 web/dem.war示例路径/opt/dmdbms达梦安装目录、/home/dmdba/apache-tomcatTomcat 目录、/opt/dmdata数据目录1.2 数据准备初始化 DEM 后台数据库DEM 需要一个达梦数据库作为后台存储库用于存放 DEM 自身的元数据与 dmagent 收集的监控数据。本报告单独初始化一个实例作为 DEM 后台库1创建后台数据库实例使用 dminit 初始化端口示例 5237[dmdbalocalhost bin]$ ./dminit PATH/opt/dmdata/dem_db DB_NAMEDEMDB INSTANCE_NAMEDEMDB PORT_NUM52372启动实例并按官方推荐配置优化 dm.ini 参数MEMORY_POOL、BUFFER、KEEP、SORT_BUF_SIZE[dmdbalocalhost bin]$ ./dmserver /opt/dmdata/dem_db/DEMDB/dm.ini SQL SP_SET_PARA_VALUE(1,MEMORY_POOL,200); SQL SP_SET_PARA_VALUE(1,BUFFER,1000); SQL SP_SET_PARA_VALUE(1,KEEP,64); SQL SP_SET_PARA_VALUE(1,SORT_BUF_SIZE,50);3执行初始化脚本 dem_init.sql位于达梦安装目录 ../web/dem_init.sql脚本为 UTF-8 编码disql 中需先设置字符集生成 DEM 模式[dmdbalocalhost bin]$ ./disql SYSDBA/SYSDBAlocalhost:5237 SQL set CHAR_CODE UTF8 SQL start /opt/dmdbms/web/dem_init.sql4验证 DEM 模式是否生成成功SQL select count(*) from all_tables where ownerDEM;查询返回的即为 DEM 模式下的表数量结果非 0 说明初始化脚本执行成功DEM 后台数据库环境已就绪。2 DEM 基础概念2.1 什么是 DEMDEM 是基于 B/S 架构的数据库综合管理系统用于集中管理主机与数据库。数据库管理员可通过任意 Web 浏览器登录 DEM对达梦数据库实例进行监控、管理与维护DEM 既可以管理单机数据库也可以管理数据库集群数据守护、MPP、DMDSC 等。与 DM 管理工具Manager这类桌面客户端不同DEM 部署在应用服务器上以 Web 应用的形式提供功能天然支持多人、多实例、多集群的集中管理是达梦官方主推的统一运维监控平台。DEM 提供的主要功能包括客户端工具对象管理、状态监控、SQL 查询与调试、监控与告警核心功能、系统管理权限与配置以及集群部署、联机大盘、联机巡检、批量执行等扩展能力。2.2 DEM 的组成与架构DEM 由四个部分组成各部分职责如下部件职责部署位置DEM 服务器处理客户端工具功能逻辑将 dmagent 收集到的数据存入存储数据库并向浏览器展示监控数据应用服务器TomcatDEM 存储数据库存放 DEM 元数据与 dmagent 收集的监控数据达梦数据库实例数据库实例被管理、被监控的达梦数据库各业务服务器数据库代理服务dmagent部署在远程机器上的代理DEM 通过它访问远程主机并采集监控信息每台被监控的主机整体上 DEM 呈三层结构管理对象层各主机上的数据库实例与 dmagent、应用服务器层DEM 服务器与存储数据库、访问层各浏览器客户端。重点提醒dmagent 与被监控实例一一对应DEM 只能监控到安装了 dmagent 的机器这是理解 DEM 架构的核心。2.3 DEM 的主要功能客户端工具通过 DEM 完成数据库对象管理、状态监控、SQL 查询与调试相当于把 DM 管理工具搬上 Web监控与告警核心功能通过远程主机部署 dmagent实现对主机状态CPU、内存、IO 等与数据库实例状态会话、锁、SQL、表空间等的监控并支持对数据守护、MPP、DMDSC 等集群的监控与管理监控数据达到阈值时可触发告警通过邮件或短信通知管理员系统管理DEM 自身的系统配置与权限管理可创建多个用户并限制非 admin 用户的权限扩展能力向导式的集群部署在 DEM 上即可完成集群组件部署支持并发执行、联机大盘单实例 / 多实例信息总览、联机巡检、批量执行多实例批量执行 SQL 与脚本、备份与自定义监控等。2.4 DEM 与相关工具的关系DEM 与 DM 管理工具Manager、DM 控制台Console、DM 性能监视工具Monitor以及 SQL 日志分析工具DMLOG定位不同工具定位Manager / Console单机桌面客户端适合开发调试与单实例管理Monitor性能监视客户端DMLOGSQL 日志分析DEMWeb 集中式平台面向 多主机、多实例、多集群 运维场景DEM 与上述工具互补而非替代。实际工作中常以 DEM 为主做集中监控用 Manager/Console 做单实例深度操作两者配合使用。3 DEM 部署实操3.1 部署前准备部署 DEM 需要准备四样东西DEM WAR 包位于达梦安装目录 web/dem.war或向达梦官方服务申请获取、Tomcat与部署系统环境匹配、Java 1.8 运行环境、达梦数据库作为 DEM 后台库。软硬件方面建议内存 2G 以上生产环境 DEM 数据存储目录不小于 100GB。1检查 Java 环境DEM 与 dmagent 所在机器均要求 Java 1.8[dmdbalocalhost ~]$ java -version openjdk version 1.8.0_131 OpenJDK Runtime Environment (build 1.8.0_131-b12)2时间同步DEM 服务器与 dmagent 所在机器的时间必须一致否则监控数据时间错乱、告警失效正式环境建议使用 ntp 配置时间同步。3.2 初始化 DEM 后台数据库后台数据库的初始化在 1.2 数据准备 已完成dminit 建库、dm.ini 参数优化、dem_init.sql 生成 DEM 模式。此处从部署视角补充两点后台库建议独立于业务库单独实例避免监控数据与业务数据相互影响根据项目实际确定后台库的备份策略监控数据持续增长时需关注磁盘空间。3.3 配置 Tomcat 与 DEM 连接1解压 Tomcat 包确认 bin、conf、webapps 等目录齐全2修改 conf/server.xml在 Connector port8080 ... 处添加属性 maxPostSize-1放开 POST 大小限制Connector port8080 protocolHTTP/1.1 maxPostSize-1 connectionTimeout20000 redirectPort8443 /3修改 bin/catalina.sh设置 JVM 启动参数与动态库路径指向达梦安装目录 binJAVA_OPTS-server -Xms256m -Xmx1024m -Djava.library.path/home/dmdba/dmdbms/bin export LD_LIBRARY_PATH/home/dmdba/dmdbms/bin4将 dem.war 放入 Tomcat 的 webapps 目录启动 Tomcat 自动解压生成 DEM 应用目录[dmdbalocalhost bin]$ ./startup.sh Tomcat started.5修改 dem/WEB-INF/db.xml配置 DEM 与后台数据库的连接IP、端口、用户名、密码、连接池大小等ConnectPool Server10.10.10.10/Server Port5237/Port UserSYSDBA/User Password******/Password InitPoolSize5/InitPoolSize CorePoolSize10/CorePoolSize MaxPoolSize50/MaxPoolSize DbTestStatementselect 1/DbTestStatement /ConnectPool重点提醒生产环境建议使用加解密引擎对 db.xml 中的密码加密demsdk.jar 提供 DefaultEncryptEngine避免明文口令如需 SSL 安全连接后台库则配置 SSLDir 与 SSLPassword。6修改 dem/WEB-INF 下 log4j.xml 的日志级别调试排查时可用 DEBUG 或 ALL生产环境建议 ERROR并合理设置 LOG_MAX_SIZE、LOG_MAX_COUNT、LOG_PRESERVE_DURATION 三个参数控制日志总量避免日志占满磁盘修改后重启 Tomcat 生效。3.4 部署 dmagent1获取 dmagent达梦安装目录 tool/dmagent 自带也可登录 DEM 后从 资源包 中下载 dmagent 压缩包2拷贝 dmagent 到被监控机器修改 agent.ini配置 DEM 地址与自身地址# dem 所在机器的地址 center_url http://192.168.1.100:8080/dem # dmagent 所在服务器的地址 ip_list [192.168.1.101]3启动 dmagentLinux 使用 start.shWindows 使用 start.bat[dmdbalocalhost dmagent]$ ./start.sh -d agent.ini4注册为系统服务并启动选做便于开机自启动[rootlocalhost dmagent]# ./service.sh install installation the service DmAgentService completed. [rootlocalhost dmagent]# cd service/ [rootlocalhost service]# ./DmAgentService start dmagent(pid: 28641) started successfully. SUCCESS!重点提醒每台需要被监控的主机都要部署并启动 dmagentDEM 才能采集到该主机的数据。3.5 登录验证与基本使用1浏览器访问 http://DEM 服务器 IP:8080/dem默认用户名 / 密码为 admin/888888登录后进入达梦企业管理系统主界面2登录后进入【监控】→【主机监控】可以看到已部署 dmagent 的主机上线展示 CPU、内存、网络 IO、磁盘 IO、IO AWAIT 等实时与历史负载3进入【大盘】→【单实例】可以看到实例名、运行时间、健康提示、会话数、死锁数、等待事务数、重启次数等数据库基本信息以及 session、TPS/QPS、CPU、Memory 等趋势曲线4验证结论能正常登录、主机状态正常、实例信息与趋势图正常刷新说明 DEM 搭建成功监控链路实例→dmagent→DEM 服务器→存储库→Web已打通。4 DEM 功能实操4.1 主机监控通过【监控】→【主机监控】进入主机面板提供 概述、负载分析、实时监控、告警 等页签。负载分析以折线图展示 CPU USAGE、MEM USAGE、NIO网络 IO、FIO磁盘 IO、IO AWAIT 随时间的变化时间维度支持 6 小时、12 小时、1 天、1 周、1 月、1 年与自定义区间。主机异常如 CPU 长时间高位、IO AWAIT 偏高可在负载分析中直接定位发生时段主机面板还支持配置网络、升级代理、变更使用权、订阅、变更与删除等运维操作。4.2 实例监控通过【监控】→【数据库监控】进入实例监控覆盖会话监控、线程监控、SQL 监控、内存资源监控、表空间监控、集群状态监控、检查点监控、作业运行状态监控与日志监控等维度。会话监控可查看当前会话与等待事件配合死锁数、等待事务数等大盘指标快速判断是否存在锁阻塞SQL 监控可定位耗时高的 SQL表空间监控关注空间使用率防止空间写满。4.3 告警配置告警依赖监控数据进入【告警】模块配置告警策略对主机或数据库指标设置阈值基线当指标达到阈值时通过邮件或短信通知管理员。重点提醒合理设置基线是告警有效的关键—— 阈值过松告警形同虚设过紧则产生告警风暴建议先观察一段时间的历史数据确定基线再对不同指标CPU、空间、会话数等分级设置。4.4 集群监控DEM 支持对数据守护实时主备、MPP、DMDSC 等集群的监控与管理。数据守护场景中DEM 可展示主备库状态、同步延迟等关键信息。DEM 还提供向导式的集群部署能力在 DEM 上按向导填写集群配置即可完成集群组件的部署并支持并发执行部署任务日常运维中通过集群状态监控及时掌握主备切换与节点健康情况。4.5 功能对比总结四个功能模块各回答一个不同的问题主机监控回答 机器资源够不够实例监控回答 数据库内部有没有异常告警回答 异常发生有没有人知道集群监控回答 整个集群是否健康。使用顺序上日常先看联机大盘总览全局再进主机监控看资源、实例监控看细节告警负责兜底配置好后即使无人盯屏也能及时收到通知集群环境则优先关注集群监控页。实操中应把 监控 与 告警 配合使用监控解决 看得见告警解决 被通知两者结合才构成完整的运维闭环。5 DEM 运维注意事项与常见问题5.1 实操注意事项时间同步是前提DEM 与 dmagent 所在机器时间不一致会导致监控数据时间错乱、告警失效务必先做 ntp 同步Java 版本必须为 1.8DEM 与 dmagent 对 Java 版本有明确要求版本不符会导致启动失败或功能异常db.xml 中的密码建议加密生产环境使用加解密引擎DefaultEncryptEngine避免明文口令日志级别与容量要控制生产环境日志级别建议 ERROR并合理设置 LOG_MAX_SIZE、LOG_MAX_COUNT、LOG_PRESERVE_DURATION防止磁盘爆盘dmagent 与被监控主机一一对应没有安装 dmagent 的机器 DEM 无法监控新接入主机时记得部署代理后台库建议独立实例并做好备份避免监控数据影响业务库并防范后台库损坏导致 DEM 不可用监控数据会持续增长生产环境 DEM 数据存储目录建议不小于 100GB并定期清理归档。5.2 常见问题排查问题可能原因排查方向主机监控 连接状态 - 未知dmagent 未启动 /center_url 配置错误 / 网络或端口不通检查 dmagent 进程、agent.ini 的 center_url、8080 端口连通性监控数据库实例失败agent.ini 的 ip_list 未包含本机 / 时间不同步 / 实例未启动核对 ip_list 与实例状态、同步时间告警信息提示 连接状态 - 失败告警通道邮件 / 短信端口不通或通知配置错误检查告警端口连通与通知配置DSC 集群监控报错dmcssm 监视器服务异常检查并启动 dmcssm 监视器服务dmagent 启动报 permission deniedJava 环境变量未配置配置 JAVA_HOME可指向 $DM_HOME/jdk等环境变量agent 日志报 Failed to upgrade fail代理版本与 DEM 版本不匹配在 DEM 主机监控中升级代理到匹配版本以上排查思路覆盖了 DEM 部署中最常见的几类问题先确认代理进程与网络再核对配置与时间最后检查版本与依赖按此顺序排查通常能快速定位原因。6 总结与高频踩坑汇总本次学习围绕 达梦数据库 DEM 学习及实操搭建 主题展开完成了概念学习、部署实操与功能实操三部分内容理解了 DEMDM Enterprise Manager作为基于 B/S 架构的数据库综合管理系统的定位掌握了其四个组成部分DEM 服务器、存储数据库、数据库实例、dmagent与三层架构并梳理了它与 DM 管理工具、Console、Monitor、DMLOG 等工具的分工关系按 环境准备 → 后台数据库初始化 → Tomcat 与 DEM 连接配置 → dmagent 部署 → 登录验证 的顺序完整走通了部署流程。主要收获与踩坑点如下集中式监控平台的架构思路DEM 通过 dmagent 采集远端主机数据由应用服务器汇总存入后台库并以 Web 呈现解决了多主机、多实例、多集群场景下逐个登录排查的低效问题dmagent 与被监控实例一一对应没装 dmagent 的机器监控不到。部署成败的关键要点Java 1.8 环境、时间同步、maxPostSize 配置、动态库路径catalina.sh 的 LD_LIBRARY_PATH、db.xml 连接配置、dmagent 与被监控主机一一对应。dem_init.sql 执行注意字符集脚本为 UTF-8 编码disql 中需先执行 set CHAR_CODE UTF8否则初始化报错或乱码。后台库独立实例建议单独初始化实例存放 DEM 元数据与监控数据避免与业务库相互影响并做好备份策略。db.xml 密码加密生产环境使用 demsdk.jar 的 DefaultEncryptEngine 加密口令避免明文密码泄露。日志与监控数据容量控制生产环境日志级别 ERROR 并设置 LOG_MAX_SIZE 等参数监控数据持续增长数据存储目录建议不小于 100GB 并定期清理归档。运维闭环意识监控、告警与集群管理必须配合使用合理的告警基线是告警真正发挥作用的前提 ——监控解决 看得见告警解决 被通知。\运维指南 | 达梦技术文档
返回列表