安全监视软件DBSMS通过监视数据库的运行时长、数据库运行状态、CPU利用率、内存利用率等运行指标,来掌握数据库的运行状态,当发现CPU利用率或内存利用率超过平台设定的阈值,以及数据库运行状态异常时形成对应的告警,来及时发现数据库的状态异常。通过对磁盘使用率、表空间的状态等进行监视,当发现磁盘及表空间剩余存储空间不足时,及时形成告警,尽早的发现由于空间不足而导致数据库无法提供数据服务的隐患。通过监视数据库的配置调整、数据库用户的变更、用户登录失败等风险操作,当发现多次频繁登录失败、恶意操作数据库配置等风险操作时形成告警,从而尽早的识别数据库异常登陆及恶意篡改的风险。通过对数据库脏页面占比情况、是否存在长时间未提交操作、是否存在sql语句执行时间长等数据库异常,来识别数据库自身在核心业务方面的问题,从而识别由于这些异常可能导致数据库无法提供数据服务的风险。
安全监视软件运行程序需JDK环境1.8以上,如环境jdk版本低于1.8,可参考以下方式进行配置:
将安装包解压到/opt 下,解压文件:
tar -zvxf jdk-8u121-linux-x64.tar.gz
修改文件:vi /etc/profile
编辑保存后,source /etc/profile
并验证jdk是否生效。
java -version
DBSMS部署主机,有时候需要配置/etc/hosts中添加kafka主机的ip 和主机名,避免发送报文时报错。
1)建立dbsms软件执行目录
创建/opt/dbsms/bin目录作为监控程序最终启动目录 –安装目录可根据实际情况进行修改
mkdir -p /opt/dbsms/bin
2)将安装包及trial.key拷贝到/opt/dbsms/bin下--安装包包含两个目录,DMKafkaIniCreater和,其中DMKafkaIniCreater为加密目录,用于生成加密配置文件,DM7KafkaInspector为程序执行目录,为方便操作我们将两个文件夹合二为一。
cp -rf DMKafkaIniCreater/* /opt/dbsms/bin/
cp -rf DM7KafkaInspector/* /opt/dbsms/bin/
3)生成预处理脚本.sql
打开管理工具,先创建代理环境后,执行预处理脚本(创建代理环境的目的是因为预处理脚本中需要查询sysjob模式下相关系统表信息)
DM6:
-- Windows 下执行命令参考
计算DM6KafkaIniCreater.jar校验编码
java -Djava.ext.dirs=./;./lib -cp DMKafkaIniCreater.jar creater.IniCreater md5-6
加密配置文件
java -Djava.ext.dirs=./;./lib -cp DMKafkaIniCreater.jar creater.IniCreater t2k-6
解密配置文件
java -Djava.ext.dirs=./;./lib -cp DMKafkaIniCreater.jar creater.IniCreater k2t-6
执行信息监控
java -Djava.ext.dirs=./;./lib -cp DM6KafkaInspector.jar com.dm6.kafka.Launcher
-- Linux 下执行命令参考
计算DM6KafkaIniCreater.jar校验编码
java -Djava.ext.dirs=./lib -cp DMKafkaIniCreater.jar creater.IniCreater md5-6
加密配置文件
java -Djava.ext.dirs=./lib -cp DMKafkaIniCreater.jar creater.IniCreater t2k-6
解密配置文件
java -Djava.ext.dirs=./lib -cp DMKafkaIniCreater.jar creater.IniCreater k2t-6
执行信息监控
java -Xms256M -Xmx4096M -XX:PermSize=256M -XX:MaxPermSize=4096M -Djava.ext.dirs=./lib -cp DM6KafkaInspector.jar com.dm6.kafka.Launcher
DM7:
--Linux下执行命令参考
计算校验编码 --该命令用于获取校验码,填入init_conf_dm7.txt中CHECK_CODE配置项
java -Djava.ext.dirs=./:./lib -cp DMKafkaIniCreater.jar creater.IniCreater md5-7
加密配置文件init_conf_dm7.txt
java -Djava.ext.dirs=./:./lib -cp DMKafkaIniCreater.jar creater.IniCreater t2k-7
解密配置文件init_conf_dm7.txt
java -Djava.ext.dirs=./:./lib -cp DMKafkaIniCreater.jar creater.IniCreater k2t-7
执行信息监控
java -Djava.ext.dirs=./:./lib -cp DMKafkaInspector.jar com.dm7.kafka.Launcher --前台运行dbsms程序
nohup java -Xms256M -Xmx4096M -XX:PermSize=256M -XX:MaxPermSize=4096M -Djava.ext.dirs=./lib -cp DM7KafkaInspector.jar com.dm7.kafka.Launcher >/dev/null & --后台运行dbsms程序,启动限制了内存大小不超过4G
SERVER_IP = 10.10.10.51
SERVER_IP尽量不要填写127.0.0.1,尽量填写数据库设备接入网安设备的实际地址。
KAFKA_TOPIC配置目的端kafka主题。
KAFKA_BROKER_LIST填写目的kafka地址的ip及端口。
报文0 1:监控CPU利用率
PERIOD_CPU = 1分钟,1代表每分钟上报一次CPU信息
THRESHOLD_CPU = 0%,CPT阈值,超过阈值并上报
ENABLE_CPU = 是
报文0 2:监控内存使用率
PERIOD_MEMORY = 1分钟
THRESHOLD_MEMORY = 10%
ENABLE_MEMORY = 是
报文0 3:监控数据文件使用率
PERIOD_DATA_FILE = 1分钟
THRESHOLD_DATA_FILE = 15G
THRESHOLD_DATA_FILE_RATIO = 5%
ENABLE_DATA_FILE = 是
该报文表示该数据库数据文件路径/dbdata,全部空间为35G,使用10G,使用率为29%。
报文0 4:监控归档文件使用率
PERIOD_ARCHIVE_FILE = 1分钟
THRESHOLD_ARCHIVE_FILE = 15G
THRESHOLD_ARCHIVE_FILE_RATIO = 30%
ENABLE_ARCHIVE_FILE = 是
需要配置归档生效
报文0 5:监控备份文件使用率
PERIOD_BACKUP_FILE = 1分钟
THRESHOLD_BACKUP_FILE = 15G
THRESHOLD_BACKUP_FILE_RATIO = 30%
LIST_BACKUP_PATH = /dbbak
ENABLE_BACKUP_FILE = 是
报文0 6:监控表空间使用率
PERIOD_TABLESPACE = 1分钟
THRESHOLD_TABLESPACE = 10G
ENABLE_TABLESPACE = 是
报文0 7:监控数据连接数
PERIOD_CONNECTION_STATUS = 1分钟.
NUMBER_CONNECTION_STATUS_LOGIN_NAME = 20
ENABLE_CONNECTION_STATUS = 是
报文0 8:监控数据库运行时长
PERIOD_DATABASE_RUNTIME = 1分钟
ENABLE_DATABASE_RUNTIME = 是
报文0 9:监控数据库状态
PERIOD_DATABASE_STATUS = 1分钟
ENABLE_DATABASE_STATUS = 是
报文0 10:监控数据库操作
ENABLE_DATABASE_ACTION = 是
创建测试表
create table test(ID int);
报文0 11:监控数据库用户信息
ENABLE_USER_PRIORITY_ACTION = 是
创建用户或其他用户行为可触发
报文 1 1:监控用户登录失败
TIMESPAN_USER_LOGIN = 1分钟
NUMBER_USER_LOGIN_FAILURE = 2
ENABLE_USER_LOGIN = 是
使用./disql SYSDBA/SYSDBA1 错误密码反复3次,触发报文。
报文 1 2:监控长时间未提交的sql
TIMESPAN_SQL_SUBMIT = 1分钟ENABLE_SQL_SUBMIT = 是
执行增删改sql语句,超过一分钟commit的语句,触发该报文。
报文 1 3:监控执行任务失败
ENABLE_JOB_FAILURE = 是
设置定时备份任务,并关闭dmap服务,定时备份任务失败时触发该报文。
报文 1 4:监控sql执行时间异常
TIMESPAN_SQL_EXECUTION = 30秒
ENABLE_SQL_EXECUTION = 是
模拟阻塞事务,超过30s执行成功或失败,触发该报文。
报文 1 5:监控数据库脏页占比
PERIOD_DIRTY_PAGE = 1分钟
THRESHOLD_DIRTY_PAGE = 0%
ENABLE_DIRTY_PAGE = 是
现场根据实际情况配置数据库表空间使用百分比。默认20%。
配置文件字符集默认为UTF-8,如配置文件中阈值单位存在中文乱码,会导致识别不到正确阈值单位,进而导致监控失败。
监视登录、登出的触发器MONITOR_LOGIN_TRIGGER、MONITOR_LOGOUT_TRIGGER
中LOGIN、LOGOUT为关键字。
若无法执行则使用LOGON和LOGOFF替代,效果一样。
为防止DBSMS程序占用内存过高的,可在启动时加上内存限制参数,限制最大使用内存为4096M,即:
执行信息监控:
java -Djava.ext.dirs=./lib -cp DM7KafkaInspector.jar com.dm7.kafka.Launcher
改为:java -Xms256M -Xmx4096M -XX:PermSize=256M -XX:MaxPermSize=4096M -Djava.ext.dirs=./lib -cp DM7KafkaInspector.jar com.dm7.kafka.Launcher
在进行部署数据库监控程序时,只需在数据库下创建一张表两个触发器,不用对数据库进行其他操作,不影响数据库的正常运行。
文章
阅读量
获赞