前言
DM企业管理器的英文全称DM Enterprise Manager,简称DEM。DEM提供一个通过Web界面来监控、管理并维护DM数据库的集中式管理平台,可以从任何可以访问Web应用的位置通过DEM来对DM数据库进行各种管理和监控。DEM不仅包含了传统桌面工具、管理工具Manager和数据迁移工具DTS等的功能,还提供了集群部署、监控和告警的功能。
为减少监控过程中的安全隐患,提高监控效率,需要对DEM监控项、系统配置参数等进行修改。本文提供了DEM常用监控项和配置参数等的推荐设置。
监控数据库用户设置
DEM在连接数据库时,需要输入监控数据库的用户名和密码。生产环境中,为减少数据库监控过程中由于误操作带来的安全隐患,建议尽量不要使用SYSDBA用户进行连接,并创建独立的DEM监控用户,给予该用户表和视图的查询权限,并限制最大会话数为50,会话空闲期为10分钟(监控用户权限可根据项目实际需求进行适当调整)。
以test用户为例:
--授予DEM监控数据库最小连接权限: create user "TEST" identified by "******" hash with SHA512 password_policy 2encrypt by "******" limit session_per_user 50, connect_idle_time 10 default tablespace "MAIN"; grant "PUBLIC" to "TEST"; grant SELECT TABLE,SELECT ANY VIEW,SELECT SEQUENCE to "TEST"; |
告警设置
主机监控告警配置
在告警配置--->添加规则处设置主机监控项,以下对主机常用监控项推荐设置进行具体说明:
监控项 | 建议度量标准 | 告警级别 | 是否推荐 |
主机连接异常 | 网络断连 | 致命 | 推荐 |
主机CPU使用率 | >=60(%) | 一般 | 推荐 |
主机内存使用率 | >=80(%) | 严重 | 推荐 |
主机文件系统使用率 | >=70(%) | 一般 | 推荐 |
主机交换区使用率 | >=70(%) | 一般 | 推荐 |
自定义监控 | 无 | 无 | 一般 |
数据库监控告警配置
在告警配置--->添加规则可对数据库设置监控项,以下对数据库常用监控项推荐设置进行具体说明:
监控项 | 建议度量标准 | 告警级别 | 是否推荐 |
数据库连接异常 | 网络断连 | 致命 | 推荐 |
数据库CPU使用率 | >=60(%) | 一般 | 推荐 |
数据库内存使用率 | >=80(%) | 严重 | 推荐 |
数据库文件IO读 | IO繁忙度>80% 且读写速度相加> 1000M/S,连续3次进行告警 | 严重 | 一般 |
数据库文件IO写 | IO繁忙度>80% 且读写速度相加> 1000M/S,连续3次进行告警 | 严重 | 一般 |
数据库等待任务数 | >=50 | 严重 | 一般 |
数据库归档等待任务数 | >0 | 一般 | 一般 |
数据库备份 | 备份失败 | 严重 | 一般 |
数据库状态或模式 | 状态或模式发生变更 | 致命 | 推荐 |
数据库表空间使用率 | >=80(%) | 一般 | 推荐 |
数据库总会话数 | >=100 | 严重 | 一般 |
数据库活动会话数 | >=100(个) | 严重 | 推荐 |
数据库死锁 | 发生死锁 | 严重 | 一般 |
数据库用户异常登录 | 异常 | 严重 | 推荐 |
数据库运行日志 | 日志中有报错信息 | 严重 | 一般 |
数据库事务日志文件空闲大小 | 不超过100%均可 | 一般 | 一般 |
数据库事务日志CUR_LSN与FILE_LSN差值 | 各采样系统差值均不相同,按实际需要设置。 | 一般 | 一般 |
数据库事务日志FILE_LSN与CKPT_LSN差值 | 各采样系统差值均不相同,按实际需要设置。 | 一般 | 一般 |
数据库DMWATCHER连接状态 | 连接异常 | 严重 | 推荐 |
数据库DMWATCHER CPU使用率 | >=60(%) | 一般 | 一般 |
数据库DMWATCHER 内存使用率 | >=80(%) | 严重 | 一般 |
数据库表数据行数 | >=10000000 | 一般 | 一般 |
数据库自定义SQL | 该指标含义是否为监控SQL执行情况,是的话,可以设置两类阈值。 SQL是否执行成功。 SQL执行时间监控,大于1秒为需要处理。 | 一般 |
系统管理设置
用户管理
在系统管理--->用户管理中,可设置DEM登录用户,需注意以下几点:
- 管理员用户邮箱地址根据需要修改;
- 为保证用户数据安全性,登录DEM用户的密码务必修改,避免使用默认密码;
- 可根据业务需求,设置多个DEM登录用户。
角色管理
当创建一个 DEM 用户时,必须给每个用户指定一个角色,用户角色决定了用户权限。DEM 中设置了 4 种角色:普通用户、高级用户、管理员以及超级管理员。部署 DEM 时预设的 admin 为超级管理员,超级管理员只有 admin,之后创建的用户只可为普通用户、高级用户或管理员。
可在【系统管理】---->【角色管理】中添加或删除角色,根据业务需求设置登录用户的角色等级。
系统配置
系统配置中可以查看到客户端管理工具、监控告警、监控频率、系统邮箱、自定义推送、安全以及其他参数配置信息,根据项目实际情况,决定是否配置,具体参数介绍如下:
客户端工具配置
参数名 | 描述 | 默认值 | 建议 |
callback_ip | 客户端工具回调DEM的IP地址,支持配置IPV6地址,应确保DEM所在主机能通过IP访问到DEM自身 | 127.0.0.1 | 根据需求设置,一般情况下保持默认即可 |
db_session_check_freq | 客户端工具中的数据库连接有效性检查频率(秒),最小值1 | 60 | 根据需求设置,一般情况下保持默认即可 |
db_session_invalid_time | 客户端工具中的数据库连接的失效时间(秒),最小值60 | 1800 | 根据需求设置,一般情况下保持默认即可 |
db_session_pool_count | 用于管理所有用户的数据库会话的池大小(重启生效) | 11 | / |
dem_page_size | 前端页面中的表格分页时的页大小 | 100 | / |
dashboard_refresh_freq | 联机大盘监测状态刷新频率(秒),最小值1 | 10 | 实时性要求较高的话可以适当缩小 |
dashboard_points | 联机大盘页面中保留的监测次数,最小值1 | 30 | 根据需求设置,一般情况下保持默认即可 |
(true/false)不显示的联机大盘页面是否继续刷新数据 | true | 根据需求设置,一般情况下保持默认即可 | |
deploy_dpc_bs | (true/false)集群搭建或集群维护时,DPC集群中新增的BP实例是否以BS模式启动 | true | 根据需求设置,一般情况下保持默认即可 |
监控告警配置
参数名 | 描述 | 默认值 | 建议 | |
dem_page_refresh_freq | 资源监控页面状态自动刷新频率(秒),最小值60 | 60 | 实时性要求较高的话可以适当缩小 | |
alert_his_re_notify_time | 同一主机或数据库的同类警告在该时间间隔内不再重复发送(秒),最小值600 | 600 | 可以根据实际情况适当缩小 | |
alert_check_thread_count | 监控告警监测任务线程数(重启生效) | 2 | / | |
alert_notify_thread_count | 监控告警通知任务线程数(重启生效) | 2 | / | |
alert_rule_reload_freq | 内存中告警规则缓存的刷新频率(秒),最小值60 | 60 | 根据需求设置,一般情况下保持默认即可 | |
db_invalid_time | 指定时间内没有收到数据库信息,则认为数据库失效(秒),最小值120 | 300 | 网络延迟较大的话可以适当增大此参数 | |
mf_invalid_time | 指定时间内没有收到主机信息,则认为主机失效(秒),最小值20 | 180 | 网络延迟较大的话可以适当增大此参数 | |
process_invalid_time | 指定时间内没有收到进程信息,则认为进程失效(秒),最小值120 | 300 | 网络延迟较大的话可以适当增大此参数 | |
license信息到期告警提示阈值 | 100 | 根据需求设置,一般情况下保持默认即可 | ||
db_sqllog_datasource | 获取数据库SQL日志信息的后台表,0存放动态视图数据的后台表,1存放日志文件数据的后台表 | 0 | 根据需求设置,一般情况下保持默认即可 | |
db_sqllog_include_error_sql | (true/false)查看历史负载的SQL分析时,是否包含错误SQL的数据 |
| 根据需求设置,一般情况下保持默认即可 | |
message_token_validity | 远端agent发送消息的有效期(毫秒),0表示不限制 | 300000 | 根据需求设置,一般情况下保持默认即可 |
监控频率配置
参数名 | 描述 | 默认值 | 建议 |
gather_mf_info_freq | 主机基本信息收集频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_mf_stat_freq | 收集主机状态信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_mf_group_info_freq | 收集主机组基本信息的频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_mf_group_stat_freq | 收集主机组状态信息的频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_process_stat_freq | 收集进程组状态信息的频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_process_group_stat_freq | 收集进程组状态信息的频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_db_info_freq | 数据库基本信息收集频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_db_stat_freq | 收集数据库状态信息的频率(秒),最小值10 | 60 | 对数据库状态实时性要求较高时可以适当缩小此参数 |
gather_db_lock_freq | 收集数据库锁信息的频率(秒),最小值10 | 60 | 根据实际需求设置 |
gather_db_deadlock_freq | 收集数据库死锁信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_trxwait_freq | 收集数据库事务等待信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_event_freq | 收集数据库事件信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_danger_event_freq | 收集数据库重要事件信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_session_freq | 收集数据库会话信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_tablespace_freq | 收集数据库表空间信息的频率(秒),最小值10 | 600 | 根据需求设置,一般情况下保持默认即可 |
gather_db_user_freg | 收集数据库用户信息的频率(秒),最小值10 | 600 | 根据需求设置,一般情况下保持默认即可 |
gather_db_table_freq | 收集数据库表数据信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_audit_record_freq | 收集数据库审计记录的频率(秒),最小值10 | 0 | 根据需求设置,一般情况下保持默认即可 |
gather_db_serverlog_freq | 收集数据库运行日志记录的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_serverlog_distinct_enable | 收集数据库运行日志记录是否去重,(true/false) | true | 根据需求设置,一般情况下保持默认即可 |
gather_db_serverlog_infolevel_enable | 收集数据库运行日志记录是否包含info级别,(true/false) | false | 根据需求设置,一般情况下保持默认即可 |
gather_db_rlog_freq | 收集数据库Redo日志信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_backup_freq | 执行数据库备份的检查频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
收集数据库归档信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 | |
gather_db_backupset_freq | 收集数据库备份集信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_backupset_check_days | 收集时校验最近多久的数据库备份集(天),0表示不校验 | 3 | 根据需求设置,一般情况下保持默认即可 |
gather_db_ini_file_freq | 收集数据库ini配置文件(如dm.ini,dmarch.ini)的频率(秒),最小值10 | 180 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqllog_file_freq | 收集数据库SQL日志(日志文件)的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqllog_file_exectime | 收集数据库SQL日志(日志文件)的最小执行耗时(毫秒),最小值0 | 1000 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqllog_file_buffer | 收集数据库SQL日志(日志文件)的缓存大小,最小值100 | 100 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqllog_view_freq | 收集数据库SQL日志(动态视图)的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqllog_view_exectime | 收集数据库SQL日志(动态视图)的最小执行耗时(毫秒),最小值0 | 1000 | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqlverify_enable | (true/false),收集数据库SQL日志时是否审核,开启时必须配置SQL审核规则上下文 | false | 根据需求设置,一般情况下保持默认即可 |
gather_db_sqlverify_rule_context | 收集数据库SQL日志时的SQL审核规则上下文 | 根据需求设置,一般情况下保持默认即可 | |
gather_db_job_history_freq | 收集数据库作业历史记录的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_index_freq | 收集数据库索引信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_info_freq | 收集集群基本信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_stat_freq | 收集数据库集群状态信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_dpc_sql_freq | 收集DPC集群SQL信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_dpc_sql_plan_freq | 收集DPC集群SQL计划信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_session_freq | 收集数据库集群会话信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_db_group_dpc_rw_stat_freq | 收集DPC集群读写分离信息的频率(秒),最小值10 | 60 | 根据需求设置,一般情况下保持默认即可 |
gather_connection_pool_size | 数据库连接池大小,值小于等于0时不启用连接池 | 50 | 根据需求设置,一般情况下保持默认即可 |
gather_connection_life_time | (s)数据库连接池缓存的连接有效期 | 600 | 根据需求设置,一般情况下保持默认即可 |
系统邮箱配置
参数名 | 描述 | 默认值 | 建议 |
mail_enable | (true/false),开启时需完成邮箱配置 | false | 根据需要打开/关闭邮箱功能 |
mail_smtp_host | SMTP服务器地址或者SMTP服务器地址:端口 | / | 根据需要填写 |
mail_address | 系统邮箱地址 | / | 根据需要填写 |
mail_account | 系统邮件账号,用于邮箱登录认证,未设置则使用系统邮箱地址作为系统邮件账号 | / | 设置则使用系统邮箱地址作为系统邮件账号 |
mail_password | 系统邮箱密码,用于邮箱登录认证 | ****** | 设置邮箱密码 |
mail_ssl | (true/false),开启SSL加密,仅当mail_smtp_host中指定端口时有效 | false | 根据需要打开/关闭 |
mail_config | 邮箱服务器连接配置属性,格式为key=value,多个以;间隔 | 根据需要填写 | |
mail_signature | 系统邮件签名 | Dameng Database Develop Tea, | 根据需要填写 |
自定义推送配置
参数名 | 描述 | 默认值 | 建议 |
custom_notify_enable | (true/false),开启时必须实现自定义短信推送功能 | false | 根据需要打开/关闭短信推送 |
custom_notify_class | 自定义推送类,需实现接口com.dameng.dem.server.util.[INotify或IPhoneNotify] | / | / |
安全配置
参数名 | 描述 | 默认值 | 建议 |
user_login_limit_count | 限制用户登录连续错误次数,若超过将锁定账号,最小值3 | 5 | 根据需求设置,一般情况下保持默认即可 |
user_login_lock_time | 账号锁定的时间(分钟),最小值10 | 60 | 根据实际需求设置 |
user_keep_alive_time | 账户存活时间(秒),最小值60,0表示不限制 | 0 | 根据需求设置,保密要求较高的话可以适当调整 |
audit | 系统审计级别(0: 关闭; 1: SET; 2: GET和SET) | 0 | 根据实际需求设置打开/关闭 |
audit_flush_freq | 审计信息刷盘频率(秒),最小值1 | 30 | 根据需求设置,一般情况下保持默认即可 |
(true/false), 审计是否记录http请求的参数信息 | false | 根据实际需求设置打开/关闭 | |
audit_sql | (true/false), 审计是否记录执行的sql语句 | false | 根据实际需求设置打开/关闭 |
其他功能
参数名 | 描述 | 默认值 | 建议 |
prometheus_metric_mf_nodes | 响应prometheus信息拉取请求的主机列表,以;间隔,信息拉取频率由prometheus自身配置 | / | / |
prometheus_metric_db_nodes | 响应prometheus信息拉取请求的数据库列表,以;间隔,信息拉取频率由prometheus自身配置 | / | / |
subscription_push_freq | 订阅推送频率(秒),最小值600 | 3600 | / |
subscription_sql_top | 订阅信息包含高频SQL,慢SQL,错误SQL和死锁SQL数目,最大值20 | 10 | / |
auditrecord_receiver_address | 审计日志接收服务器地址,格式:IP:PORT | / | 根据实际ip地址和端口号配置 |
auditrecord_target_db | 发送目标数据库的审计日志 | / | 根据数据库实际ip地址和端口号配置 |
auditrecord_mark_config_path | 连接审计目标数据库所使用的目标配置文件路径 | / | 根据需求设置,一般情况下保持默认即可 |
auditrecord_send_freq | 审计日志发送频率(秒),最小值为60 | 120 | 保持默认即可 |
database_baseinfo_udp_send_freq | 数据库基础信息的UDP协议发送频率(秒),最小值为60 | 60 | 保持默认即可 |
database_configinfo_udp_send_freq | 数据库配置信息的UDP协议发送频率(秒),最小值为60 | 60 | 保持默认即可 |
database_statusinfo_udp_send_freq | 数据库状态信息的UDP协议发送频率(秒),最小值为60 | 60 | / |
database_info_udp_reciver_address | 数据库信息的UDP协议接收网络地址,格式:IP:PORT | / | / |
database_info_udp_send_db_list | 数据库信息的UDP协议发送限定的数据库列表,列表项以;分隔 | / | / |
api_crypt_class | 实现接口com.dameng.dem.server.util.IEncryptEngine,用于用户密码的加解密 | com.dameng.dem.serverutil.DefaultEncryptEngine | 如果端口号已被占用可以进行调整 |
snmp_enable | (true/false),开启时必须实现SNMP协议 | false | 根据实际需求打开/关闭SNMP服务 |
snmp_udp_port | SNMP协议监听网络端口号 | 161 | / |
resource_package_storage_path | 资源包存储路径(绝对路径),默认为DEM应用内部路径repository/resource_pkg | / | / |
service_key | 远程RPC服务调用时所使用的校验key | ****** | / |




