注册
部署单机kafka-agent
技术分享/ 文章详情 /

部署单机kafka-agent

Baldwin 2024/02/04 973 0 0

一、运行前准备-升级jdk1.8

第一步:下载jdk-8u131-linux-x64.tar.gz文件
第二步:新建/usr/java文件夹,将jdk-8u131-linux-x64.tar.gz放到该文件夹中并解压,将工作目录切换到/usr/java目录下
第三步:通过以上步骤,jdk1.8就已经全部安装完成了
第四步:配置环境变量
①、使用vim /etc/profile编辑profile文件
②、在/etc/profile底部加入如下内容:

JAVA_HOME=/usr/java/jdk1.8.0_131 
PATH=$JAVA_HOME/bin:$PATH 
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar 
export PATH JAVA_HOME CLASSPATH

二、解压压缩包参考使用手册安装

unzip DM7数据库安全监视软件v2.1-release-20230426.zip

1、使用DM7 manager 连接目标DM7, 并用管理员权限用户登陆;
2、如果没有SYSJOB模式,请点击“代理”->“创建代理环境”;
备注:在早期DM7版本中,没有SYSJOB.SYSJOBHISTORIES2系统表,须关闭【数据计划任务执行失败】这一监控指标,初始化时,不创建视图VW_KAFKA_JOB_FAILURE
3、运行“预处理脚本.sql”脚本,只需成功运行一次即可;

下述相关命令见《程序运行命令.txt》;

1、生成配置文件密文

(1)cd到DMKafkaIniCreater根目录;
(2)计算DM7KafkaInspector.jar校验编码:
将DM7KafkaInspector目录中的DM7KafkaInspector.jar包复制到DMKafkaIniCreater目录(若已存在可跳过),执行“计算DM7KafkaInspector.jar校验编码”对应的命令,计算结果见“DM7KafkaInspector-jar-md5.txt”;
(3)修改配置文件明文,并生成配置文件密文:
a)打开init_conf_dm7.txt;
b)修改文件中的配置信息,其中CHECK_CODE项设为上述计算所得的编码;
c)执行“加密配置文件”对应的命令,生成init_conf_dm7.key文件;
备注:
a)配置目录中的必需文件为:lib、privateKey.key、publicKey.key、init_conf_dm7.txt、DM7KafkaInspector.jar、DMKafkaIniCreater.jar;
b) privateKey.key文件是程序保密措施的关键,不可外泄,非涉密人员不可接触。

2、运行监控程序

(1)cd到DM7KafkaIniCreater根目录;
(2)将上述生成的init_conf_dm7.key文件复制到本路径中;
(3)运行“执行信息监控”对应的命令,程序开始运行;
备注:
a)init_conf_dm7.txt中的配置信息发生变化时,须重新生成init_conf_dm7.key文件并进行替换,监控程序须重启方可生效;
b)运行目录中的必需文件为:lib、DM7KafkaInspector.jar、init_conf_dm7.key、launch.key、publicKey.key;

三、附录

init_conf_dm7.txt

#数据库状态监控信息发送目的端
KAFKA_TOPIC = pf_database				#kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST = x.x.x.x:x   		#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)

#数据库配置项核查交互配置
#下述两项对应发送指令的IP、端口、topic
KAFKA_TOPIC_CONSUMMER = pf_database   #kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST_CONSUMER = x.x.x.x:x		#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)
#下述两项对应接收核查结果的IP、端口、topic
KAFKA_TOPIC_PRODUCER = pf_database    #kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST_PRODUCER = pf_database   	#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)

init_conf_dm6.txt

##全部配置项目格式为 key=value,“#”号后面内容为注释

##安全校验
CHECK_FILE = ./DM6KafkaInspector.jar						#本格式为Windows环境中的格式,在Linux环境中应写为./DM6KafkaInspector.jar
CHECK_CODE = xxxxxxxxxxxxxxxxxxx				#DM6KafkaInspector.jar的检验编码(md5值)

##运行模式
RUN_MODE = 多线程											#监测程序运行模式(单线程、多线程)

##起始版本
MONITORING_BANNER = 2017.05.26

##监测内容
MONITORING_CONTENT_CPUINSPECTION 					= 是		#开关(是、否)(CPU使用率)
MONITORING_CONTENT_MEMORYINSPECTION 				= 是		#开关(是、否)(内存使用率)
MONITORING_CONTENT_DATAFILE 						= 是		#开关(是、否)(数据文件)
MONITORING_CONTENT_ARCHIVEFILE 						= 是		#开关(是、否)(归档文件)
MONITORING_CONTENT_BACKUPFILE 						= 是		#开关(是、否)(备份文件)
MONITORING_CONTENT_TABLESPACEINSPECTION 			= 是		#开关(是、否)(数据库表空间使用情况)
MONITORING_CONTENT_CONNECTIONSTATUSINSPECTION 		= 是		#开关(是、否)(数据库连接使用情况)
MONITORING_CONTENT_DATABASESTATUSINSPECTION 		= 是		#开关(是、否)(数据库状态)
MONITORING_CONTENT_DATABASEACTIONINSPECTION 		= 是		#开关(是、否)(数据库操作信息)
MONITORING_CONTENT_USERPRIORITYACTIONINSPECTION 	= 是		#开关(是、否)(数据库用户信息变更信息)

MONITORING_CONTENT_USERLOGINHISTORYINSPECTION		= 是		#开关(是、否)(数据库用户登录信息)

MONITORING_CONTENT_UNAUTHORIZEDIPACCESSINSPECTION	= 否		#开关(是、否)(非授权IP访问数据库)
MONITORING_CONTENT_TABLENUMBERINSPECTION			= 否		#开关(是、否)(数据库总表数量)
MONITORING_CONTENT_UNAUTHORIZEDUSERACCESSINSPECTION	= 否		#开关(是、否)(业务黑名单操作)
MONITORING_CONTENT_DROPACTION 						= 是		#开关(是、否)(DROP操作)
MONITORING_CONTENT_SQLCC 							= 否		#开关(是、否)(疑似CC攻击)

MONITORING_CONTENT_USERLOGINFAILUREINSPECTION 		= 是		#开关(是、否)(数据库用户连续登录失败)
MONITORING_CONTENT_JOBFAILUREINSPECTION 			= 是		#开关(是、否)(数据计划任务执行失败)
MONITORING_CONTENT_DIRTYPAGEINSPECTION 				= 是		#开关(是、否)(数据库脏页面占比)
MONITORING_CONTENT_CLEARDDLTABLEINSPECTION 			= 是		#开关(是、否)(清空DDL表)
MONITORING_CONTENT_DBRESTARTDETECTION 				= 是		#开关(是、否)(数据库重启)

DATABASE_CONFIGURATION_CHECK 						= 否		#开关(是、否)(数据库配置项核查)

##目标数据库基本配置项目
SERVER_IP = x.x.x.x	  #数据库IP地址(请酌情设置)
SERVER_PORT = 12345           #数据库端口号(请酌情设置)
SOCKET_PORT = 12344
LOGIN_NAME = SYSDBA           #数据库登陆用户名(请酌情设置)
LOGIN_PASSWORD = xxxx       #数据库登陆密码(请酌情设置)

##kafka集群连接配置
#数据库状态监控信息发送目的端
KAFKA_TOPIC = pf_database      					#kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST = x.x.x.x:x   			#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)

#数据库配置项核查交互配置
#下述两项对应发送指令的IP、端口、topic
KAFKA_TOPIC_CONSUMMER = pf_database        			#kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST_CONSUMER = x.x.x.x:x		#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)
#下述两项对应接收核查结果的IP、端口、topic
KAFKA_TOPIC_PRODUCER = pf_database    				#kafka消息主题topic配置(请酌情设置)
KAFKA_BROKER_LIST_PRODUCER = pf_database   	#kafka集群代理IP端口号列表(请酌情设置 格式为ip:port,ip:port)

##kafka消息本地打印配置
SHOULD_PRINT_KAFKA_MESSAGE_LOCALLY = yes      #是否在本地打印发送的kafka消息(调试时使用,请酌情设置,值为yes或no)
SHOULD_PRINT_CHECK_COMMAND_LOCALLY = yes		#是否在本地打印收到的核查指令(调试时使用,请酌情设置,值为yes或no)
SHOULD_PRINT_CHECK_RESPOND_LOCALLY = yes		#是否在本地打印发送的核查结果(调试时使用,请酌情设置,值为yes或no)

##运行信息配置
#1.数据库CPU使用率监控 运行信息配置
CPU_PERIOD = 1分钟   #数据库CPU使用率监控上报周期(单位:小时、分钟)
CPU_THRESHOLD = 1%   #数据库CPU使用率监控上报阈值(单位: %)

#2.数据库内存使用率监控 运行信息配置
MEMORY_PERIOD = 1分钟   #数据库内存使用率监控上报周期(单位:小时、分钟)
MEMORY_THRESHOLD = 1%   #数据库内存使用率监控上报阈值(单位: %)

#3.数据库磁盘信息-数据文件监控 运行信息配置
DATA_FILE_PERIOD = 1小时   #数据文件监控上报周期(单位:小时、分钟)
DATA_FILE_THRESHOLD = 1T   #数据文件监控上报阈值(单位: T、G)

#4.数据库磁盘信息-归档文件监控 运行信息配置
ARCHIVE_FILE_PERIOD = 1分钟   #归档文件监控上报周期(单位:小时、分钟)
ARCHIVE_FILE_THRESHOLD = 50G   #归档文件监控上报阈值(单位: T、G)

#5.数据库磁盘信息-备份文件监控 运行信息配置
BACKUP_FILE_PERIOD = 1分钟   #备份文件监控上报周期(单位:小时、分钟)
BACKUP_FILE_THRESHOLD = 20G   #备份文件监控上报阈值(单位: T、G)

#6.数据库表空间使用情况监控 运行信息配置
TABLE_SPACE_PERIOD = 1分钟   #数据库表空间使用情况监控上报周期(单位:小时、分钟)
TABLE_SPACE_THRESHOLD = 200G   #数据库表空间使用情况监控上报阈值(单位: T、G)

#7.数据库连接使用情况监控 运行信息配置
CONNECTION_STATUS_PERIOD = 1分钟   #数据库连接使用情况监控上报周期(单位:小时、分钟)
CONNECTION_STATUS_LOGIN_NAME_NUMBER = 20   #数据库连接使用情况监控上报连接最多的用户名个数

#8.数据库运行时长监控 运行信息配置
DATA_BASE_RUN_TIME_PERIOD = 20分钟   #数据库运行时长监控上报周期(单位:小时、分钟)

#9.数据库状态监控 运行信息配置
DATA_BASE_STATUS_PERIOD = 1分钟   #数据库状态监控上报周期(单位:小时、分钟)

#10.数据库操作信息监控
DATA_BASE_ACTION_WITH_NAME = 0	#是否发送登录名(0:不发送;1:发送)

#11.数据库用户信息变更信息监控

#12A.登录历史信息监控 运行信息配置
USER_LOGIN_HISTORY_TIME_PERIOD = 1分钟	#用户登录信息监控上报周期(单位:分钟、秒)
USER_LOGIN_HISTORY_TIME_SPAN = 1分钟		#用户 信息监控上报追溯期(单位:分钟、秒)

#12.数据库非法访问-非授权IP访问数据库 运行信息配置
UNAUTHORIZED_IP_ACCESS_PERIOD = 1分钟  				#非授权IP访问数据库监控上报周期(单位:小时、分钟)
WHITE_IP_NUMBER = 1个								#IP白名单个数
WHITE_IP_1 = 127.0.0.1

#13.数据库总表数量 运行信息配置
TABLE_NUMBER_PERIOD = 1分钟   						#数据库总表数量监控上报周期(单位:小时、分钟)
TABLE_NUMBER_THRESHOLD = 100    					#数据库总表数量监控上报阈值(单位: 个)

#14.数据库非法用户-非授权用户访问数据库 运行信息配置
UNAUTHORIZED_USER_ACCESS_PERIOD = 1分钟  				#非授权用户访问数据库监控上报周期(单位:小时、分钟)
WHITE_USER_NUMBER = 1个								#USER白名单个数
WHITE_USER_1 = SYSDBA

#15.数据库非法访问-无效SQL 运行信息配置

#16.危险操作-DROP DDL操作信息监控 运行信息配置
DROP_ACTION_PERIOD = 1分钟   							#DROP DDL操作信息监控上报周期(单位:小时、分钟)

#17.危险操作-DELETE DML操作信息监控 运行信息配置

#18.危险操作-疑似CC攻击监控 运行信息配置					
#上报周期:数据库CPU使用率监控或数据库内存使用率监控上报时监控上报
SQL_CC_CPU_THRESHOLD = 80%   						#疑似CC攻击监控上报-CPU使用率阈值(单位: %)
SQL_CC_MEMORY_THRESHOLD = 80%   						#疑似CC攻击监控上报-MEMORY使用率阈值(单位: %)


##安全信息配置

#1.数据库用户连续登录失败监控 安全信息配置
USER_LOGIN_TIME_PERIOD = 30秒    #连续登录失败监控上报周期(单位:分钟、秒)
USER_LOGIN_TIME_SPAN = 15分钟   #在该配置的一段时间内用户连续登陆失败将产生告警(单位:小时、分钟)
USER_LOGIN_FAILURE_NUMBER = 5   #用户连续登陆失败达到配置次数将产生告警

#2.sql语句长时间未提交 安全信息配置
SQL_SUBMIT_TIME_SPAN = 1分钟 #经过该配置的一段时间后尚未提交的SQL将被告警上报(单位:小时、分钟)

#3.数据计划任务执行失败 安全信息配置(无配置项)

#4.sql语句执行时间异常 安全信息配置
SQL_EXCUTE_TIME_SPAN = 20分钟 #经过该配置的一段时间后尚未执行完毕的SQL将被告警上报(单位:小时、分钟)

#5.数据库脏页面占比情况监控 安全信息配置
DIRTY_PAGE_PERIOD = 1分钟   #数据库脏页面占比情况监控上报周期(单位:小时、分钟)
DIRTY_PAGE_THRESHOLD = 90%   #数据库表空间使用情况监控上报阈值(单位:%)

##数据库配置信息核查
DB_CONF_CHECK_PERIOD = 5秒		#读取核查指令周期(单位:分钟、秒)

##日志管理参数配置
LOG_RETAIN_SPAN = 30 #日志保留时长,过期日志自动删除(单位:天)
LOG_DIR_MAX_SIZE = 1 #	日志文件夹占用磁盘空间大小上限,超过此上限,停止更新日志(单位:G)

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服