diff options
| author | bsdbc <[email protected]> | 2019-04-02 09:52:52 +0800 |
|---|---|---|
| committer | bsdbc <[email protected]> | 2019-04-02 09:52:52 +0800 |
| commit | 4f1a03aeb9329361e7e7c316a4baeaea2dd49518 (patch) | |
| tree | 47fe65efc58dd9c299828b82380f6b2d7fbb038b /datacontroller/DC_install | |
| parent | 48f09fa63d5bfba5ab4d9b416e7f26cb5110c5f6 (diff) | |
init import
Diffstat (limited to 'datacontroller/DC_install')
45 files changed, 897 insertions, 0 deletions
diff --git a/datacontroller/DC_install/bin/DataController.jar b/datacontroller/DC_install/bin/DataController.jar Binary files differnew file mode 100644 index 0000000..a0fdb0a --- /dev/null +++ b/datacontroller/DC_install/bin/DataController.jar diff --git a/datacontroller/DC_install/conf/druid.properties b/datacontroller/DC_install/conf/druid.properties new file mode 100644 index 0000000..ab8f9fe --- /dev/null +++ b/datacontroller/DC_install/conf/druid.properties @@ -0,0 +1,38 @@ +##Driver +#druid.driverClassName=com.mysql.jdbc.Driver +##数据库链接, +#druid.url=jdbc:mysql://192.168.0.37:3306/project_demo?useUnicode=true&characterEncoding=UTF-8 +##帐号 +#druid.username=root +##密码 +#druid.password=xxxx +#检测数据库链接是否有效,必须配置 +druid.validationQuery=SELECT 1 from dual +#初始连接数 +druid.initialSize=3 +#最大连接池数量 +druid.maxActive=10 +#去掉,配置文件对应去掉 +#druid.maxIdle=20 +#配置0,当线程池数量不足,自动补充。 +druid.minIdle=3 +#获取链接超时时间为1分钟,单位为毫秒。 +druid.maxWait=60000 +#获取链接的时候,不校验是否可用,开启会有损性能。 +druid.testOnBorrow=false +#归还链接到连接池的时候校验链接是否可用。 +druid.testOnReturn=false +#此项配置为true即可,不影响性能,并且保证安全性。意义为:申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 +druid.testWhileIdle=true +#1.Destroy线程会检测连接的间隔时间 +#2.testWhileIdle的判断依据 +druid.timeBetweenEvictionRunsMillis=600000 +#一个链接生存的时间 +druid.minEvictableIdleTimeMillis=600000 +#链接使用超过时间限制是否回收 +druid.removeAbandoned=false +#超过时间限制时间(单位秒),目前为5分钟,如果有业务处理时间超过5分钟,可以适当调整。 +druid.removeAbandonedTimeout=300 +#链接回收的时候控制台打印信息,测试环境可以加上true,线上环境false。会影响性能。 +druid.logAbandoned=false +druid.filters=
\ No newline at end of file diff --git a/datacontroller/DC_install/conf/jvm.conf b/datacontroller/DC_install/conf/jvm.conf new file mode 100644 index 0000000..f4edf37 --- /dev/null +++ b/datacontroller/DC_install/conf/jvm.conf @@ -0,0 +1,2 @@ +-Xms64m +-Xmx128m
\ No newline at end of file diff --git a/datacontroller/DC_install/conf/log4j.properties b/datacontroller/DC_install/conf/log4j.properties new file mode 100644 index 0000000..fe6bc3e --- /dev/null +++ b/datacontroller/DC_install/conf/log4j.properties @@ -0,0 +1,28 @@ +log4j.rootLogger = debug,stdout,logfile,errorLog + +log4j.appender.stdout = org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n +log4j.appender.stdout.layout = org.apache.log4j.PatternLayout + +#----------------------debug--------------------- + +log4j.appender.logfile = org.apache.log4j.RollingFileAppender +log4j.appender.logfile.MaxFileSize = 50MB +log4j.appender.logfile.MaxBackupIndex = 10 + +log4j.appender.logfile.File = ../dc_logs/datacontroller.log +log4j.appender.logfile.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n +log4j.appender.logfile.layout = org.apache.log4j.PatternLayout + +#----------------------error--------------------- +log4j.logger.errorLog = warn,errorLog +log4j.appender.errorLog = org.apache.log4j.RollingFileAppender +log4j.appender.errorLog.MaxFileSize = 50MB +log4j.appender.errorLog.Append = true +log4j.appender.errorLog.Threshold = warn +log4j.appender.errorLog.MaxBackupIndex = 10 +log4j.appender.errorLog.File = ../dc_logs/error.log +log4j.appender.errorLog.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n +log4j.appender.errorLog.layout = org.apache.log4j.PatternLayout + + diff --git a/datacontroller/DC_install/conf/myconfig.properties b/datacontroller/DC_install/conf/myconfig.properties new file mode 100644 index 0000000..fd28b9b --- /dev/null +++ b/datacontroller/DC_install/conf/myconfig.properties @@ -0,0 +1,287 @@ +#--------need modify -----------begin +##--公共数据存放父目录(*部署需修改*) +common.datas.dir = +##--系统SNMP监测,指定服务器IP 指本机(*部署需修改*) +system.inet.address = +##--NMSWeb端 通讯IP 指WEB(*部署需修改*) +web.socket.ip = +#--数据库驱动 +#db.driver=oracle.jdbc.driver.OracleDriver +db.driver=com.mysql.jdbc.Driver +##--数据库 地址(*部署需修改*) +#db.url = jdbc:oracle:thin:@10.0.6.100:1521:ict +db.url = +##--数据库 用户名(*部署需修改*) +#db.username = nms +db.username = +##--数据库 密码(*部署需修改*) +#db.password = nms +db.password = + + +#数据库类型 +db.type=mysql +#--------need modify -----------end +#-------- DB pool -----------begin +db.pool.type=druid +##--##--连接池 设置分区 缺省值 3 一般设置为3~4 +db.pool.partitionCount = 3 +##--设置每个分区中的最大连接数 缺省值 10 注意 此处问每个分区最大线程数 总数为 partitionCount*maxConnectionsPerPartition 即 30 +db.pool.maxConnectionsPerPartition = 20 +##--设置每个分区中的最小连接数 缺省值 5 注意 此处问每个分区最小空闲线程数 总数为 partitionCount*minConnectionsPerPartition 即 15 +db.pool.minConnectionsPerPartition = 3 +##--当连接池中的连接耗尽的时候 BoneCP一次同时获取的连接数 缺省值3 +db.pool.acquireIncrement = 3 +#-------- DB pool -----------end +#------- Email ---------begin +##--邮件发送标识,(1启用、0禁用) +email.flag = 0 +##--邮件通知 发送 用户地址(*部署需修改*) +email.address = +##--邮件通知 发送 用户名(*部署需修改*) +email.userName = +##--邮件通知 发送 用户密码(*部署需修改*) +email.password = +##--邮件服务器IP(*部署需修改*) +email.host = +#------- Email ---------end + +##--NMSWeb端 通讯服务监听端口 +web.socket.port = 60703 + +#---Common------- +##--分中心执行自身范围内client的任务0 关闭 1开启 +mission.single = 1 +##--全局文本解析编码,与web端、Agent端一致,不可修改 +common.text.coding = UTF-8 +##--全局日期格式化方式,须与数据库 日期数据格式化方式(db.date.format)保持一致,不建议修改 +common.date.format = yyyy-MM-dd HH:mm:ss + +##--NMSServer升级时,通讯中断延时恢复时间(秒) +mission.update.daily = 300 + +##--最大网络带宽限制(Mbps) +max.network.bandwidth = 5 +#-------Executor Thread--------- +##--公用普通线程池预置线程数(个) +executor.socket.thread.size = 120 +##--公用定时线程池预置线程数(个) +executor.scheduled.thread.size = 30 +##--数据解析线程预置线程数(个) +executor.data.resove.thread.size = 3 +#---Change Operations------- +##--监测、任务、节点等状态及设置信息变更时,执行变更操作的线程,轮询周期(秒) +change.operations.period = 300 +change.release.semaphore.max = 10 +#------- Detection Alarm --------- +##--主动监测执行通讯并发数(个) +detec.release.semaphore.max = 20 +#------- Detection Resolve --------- +##--缓存监测数据解析周期(秒) +detec.data.resovle.period = 60 +##--硬盘监测数据解析周期(秒) + +##--DC端主动收集数据(监测数据、任务结果、回传文件)周期(秒)(应该比生成监测数据的间隔时间小,不要web页面会有段时间报警,说缺失一个周期的监测数据,而实际是你还没去收集,5分钟) +data.collect.period = 300 +##--DC端主动收集数据(执行完成,但无任务结果的任务的结果信息)(大于等于正常收集任务结果的周期data.collect.period的2倍?) +nonRltTask.result.collect.period = 600 +##--告警数据解析周期(秒) +alarm.data.resovle.period = 60 +####common.file.resovle.period unable +##--PING监测类别标识,用于查询数据库中预置PING监测设置的监测类别标识(须与数据库PING监测类别名称一致,默认不可修改) +detec.ping.str = PING +##--NMSC监测类别标识,用于查询数据库中预置PING监测设置的监测类别标识(须与数据库NMSClient监测类别名称一致,默认不可修改) +detec.nmsc.str = NMSClient +##--SNMP监测类别标识,用于查询数据库中预置SNMP监测设置的监测类别标识(不可修改) +detec.snmp.str = SNMP +##--SNMP_SWITCH监测类别标识,用于查询数据库中预置SWITCH监测设置的监测类别标识(不可修改) +detec.switch.str = SWITCHPORT +##--systeminfo监测类别解析标识,特有解析方法,用于查询数据库中预置systeminfo监测设置的监测类别标识(不可修改) +detec.systeminfo.str = systeminfo +##--SNMP_TRAP监测类别标识,用于查询数据库中预置SNMP_TRAP监测设置的监测类别标识(不可修改) +alarm.snmp.trap.str = SNMP_TRAP + +#---Mission Control------- +##--周期任务执行时,预置周期的数量(个) +mission.loop.preset.number = 10 +##--周期任务执行时,默认检查时间(暂未使用) +mission.loop.finishing.daily = 20:00:00 + +#---Mission release------- +##--任务执行,节点下发通讯并发数(个) +mission.release.semaphore.max = 10 +##--任务执行,重复尝试次数(次) +mission.release.times = 2 +##--任务执行,重复下发间隔周期(秒) +mission.release.period = 180 + +#---Mission File------- +##--从WEB端下载任务文件的线程的超时时间(秒) +mission.file.download.delay = 20 +##--上传到WEB端的回传文件线程执行周期(秒) +mission.file.upload.period = 120 +##--数据库 日期格式化方式 须与全局日期格式化方式(common.date.format)保持一致,不建议修改 +db.date.format = yyyy-MM-dd HH24:mi:ss +##--数据库 批处理 最大数 +db.execute.batch = 100 + +#---SNMP------- +##--SNMP 目标主机信息 获取端口 +snmp.client.port = 161 +##--SNMP 接收告警 监听端口 +snmp.trap.port = 162 +##--SNMP 主动告警 接收端口 +snmp.community = public +##--ObjectSNMP class文件打包名称(不可修改) +snmp.class.package = osDomains +##--SNMP 加密认证级别 0 不认证 不加密'zg' 1 认证 不加密'hckings' ,2认证 且 加密'dxy' +snmp.v3.security.level = 0 +##--SNMP 加密认证用户 用户名 +snmp.v3.security.name = zg +##--SNMP 认证协议方式 +snmp.v3.auth.protocol = MD5 +##--SNMP 加密协议方式 +snmp.v3.priv.protocol = DES +##--SNMP 认证密码明文 +snmp.v3.auth.passphrase = 12345678 +##--SNMP 加密密码明文 +snmp.v3.priv.passphrase = 12345678 + +#---SSL------- +##--SSL通讯 密匙类型(不可修改) +ssl.type = TLS +##--SSL通讯 密匙文件存放目录,默认为打包程序工程目录下cer(不建议修改) +ssl.dir = cer +##--SSL通讯 密匙有效期(暂未使用) +ssl.key.validity = 90 +##--SSL通讯 Server端 通讯监听端口,须与WEB端、Agent端通讯发送端口保持一致(不建议修改) +ssl.server.port = 60702 +##--SSL通讯 Agent端 通讯发送端口,须与Agent端 通讯监听端口保持一致(不建议修改) +ssl.client.port = 60701 +##--SSL通讯 密匙库类型(不可修改) +ssl.keystore.type = jceks +##--SSL通讯 Server端 私钥库名称 +ssl.server.store = server_ks +##--SSL通讯 Server端 公钥库名称 +ssl.server.trust = server_ts +##--SSL通讯 Agent端 私钥库名称 与Agent端保持一致(预留) +ssl.client.store = client_ks +##--SSL通讯 Agent端 公钥库名称 与Agent端保持一致(预留) +ssl.client.trust = client_ts +##--SSL通讯 Server端 私钥库密码 +ssl.server.store.psw = client +##--SSL通讯 Server端 公钥库密码(预留) +ssl.server.trust.psw = client +##--SSL通讯 Server端 公钥导出文件名称(预留) +ssl.server.export = server.cer +##--SSL通讯 Agent端 公钥导出文件名称(预留) +ssl.client.export = client.cer +##--SSL通讯 Server端 旧密钥名称(预留) +ssl.server.key.old = serverks20110828 +##--SSL通讯 Server端 旧密钥密码(预留) +ssl.server.key.old.psw = 123456 +##--SSL通讯 Server端 新密钥名称(预留) +ssl.server.key.new = serverks20110828 +##--SSL通讯 Server端 新密钥密码(预留) +ssl.server.key.new.psw = 123456 +##--SSL通讯 Agent端 密钥名称(预留) +ssl.client.key = serverks20110828 +##--SSL通讯 Agent端 密钥密码(预留) +ssl.client.key.psw = 123456 + +#-----------debug------------ +##--ZIP 解析线程标识 启用标识(1启用、0禁用) +zip.flag = 1 +##--监测结果接收超时 启用标识(1启用、0禁用) +detec.timeout.flag = 1 +##--文件上传功能 启用标识(1启用、0禁用) +file.upload.flag = 1 +##--监测数据解析功能 启用标识(1启用、0禁用) +file.resove.flag = 1 +##--数据主动收集功能 启用标识(1启用、0禁用) +data.collect.flag = 0 +##--执行完成,但无任务结果的任务的结果信息的收集标志 启用标识(1启用、0禁用) +nonRltTask.result.collect.flag = 1 +##--告警解析功能 启用标识(1启用、0禁用) +alarm.resove.flag = 1 +##--变更操作功能 启用标识(1启用、0禁用) +change.operations.flag = 1 +##--主动监测PING功能 启用标识(1启用、0禁用) +ping.flag = 1 +##--主动监测NMSClient功能 启用标识(1启用、0禁用) +nmsc.flag = 1 +##--主动监测SNMP功能 启用标识(1启用、0禁用) +snmp.flag = 1 +##--主动监测交换机功能 启用标识(1启用、0禁用) +switch.flag = 1 +##--trap功能 启用标识(1启用、0禁用) +trap.flag = 1 +##--初始化任务执行功能 启用标识(1启用、0禁用) +mission.flag = 1 +##--任务结果解析功能 启用标识(1启用、0禁用) +result.flag = 1 +##--邮件发送功能 启用标识(1启用、0禁用) +email.start.flag = 1 +#-----------debug 2------------ +##--监测数据文件解析 保存到数据库操作标识(1启用、0禁用) +file.resove.commitDB.flag = 1 +delete.files.flag = 1 +config.update.flag = 8 +delete.files.period = 24 +mailing.period = 120 +keep.file.days = 7 +#硬盘监测数据入库线程开关 +data.files.reader.flag = 1 +error.info.flag = 1 +detec.system.str = system + +#握手监测失败时(state=-1),默认的告警级别:0级 +detect.fail.nmsc.police.level=0 +#握手监测失败时(state=-1),默认的紧急状态:0紧急;1非紧急 +detect.fail.nmsc.police.emergent=0 +#非握手监测失败时(state=-1),默认的告警级别:1-5级 +detect.fail.non.nmsc.police.level=1 +#非握手监测失败时(state=-1),默认的紧急状态:0紧急;1非紧急 +detect.fail.non.nmsc.police.emergent=1 +#端口异常(流量为0,设置状态和实际状态不符)时,默认的告警级别:1-5级 +port.alarm.level=5 +#端口异常(流量为0,设置状态和实际状态不符)时,默认的紧急状态:0紧急;1非紧急 +port.alarm.emergent=1 +#NC主动告警(默认为紧急),state=-2时,默认的告警级别:0级, +nc.alarm.police.level=0 +#DC端主动监测,单节点超时时间 +single.node.detect.timeout=180 +#监测数据每500条入库一次 +detection_info_data_max_rows =500 +data.collect.daily=120 +#dc监测数据入库模式,1:由web 主控控制入库,2:自己主动入库,3:智能模式(1和2结合),4,写入文件,定时上传web端 +detect.insert.mode=2 + +############ 多线程入库监测数据 ################ +#监测数据入库线程模式,1:单线程,2:多线程(info,detail) +detect.insert.thread.mode=2 +#info入库线程运行模式,1:每隔 n秒 运行一次,2:间隔 n 秒运行一次 +detect.info.thread.mode=2 +#info入库线程 每隔 或间隔 时间 ,单位:s +detect.info.thread.time=60 +detect.info.thread.delay=5 +#detail入库线程运行模式,1:每隔 n秒 运行一次,2:间隔 n 秒运行一次 +detect.detail.thread.mode=1 +#detail入库线程 每隔 或间隔 时间 ,单位:s +detect.detail.thread.time=60 +detect.detail.thread.delay=5 +############ 多线程入库监测数据 ################ + + +############## netty ###################### +##--dc 接收nc主动上报 监测数据,任务结果,任务回传文件(1启用、0禁用),启用时要同时将data.collect.flag 置为 0 +netty.server.flag=1 +netty.server.port=9527 +netty.server.ssl=true +#client 空闲时间,单位:s,设置比client 心跳时间大一点,判断nc 是否在线 +netty.idle.time=15 +netty.so.backlog=128 + +#代码生成序列,0 关闭,默认为detection_info表,如多个表需要添加序列,多个表名用,隔开 +sequence.table=0 + diff --git a/datacontroller/DC_install/install.sh b/datacontroller/DC_install/install.sh new file mode 100644 index 0000000..395e1e1 --- /dev/null +++ b/datacontroller/DC_install/install.sh @@ -0,0 +1,281 @@ +#!/bin/bash + +DEFAULT_DATA_DIR="/home/ceiec/nms/nmsdata" +DEFAULT_INSTALL_DIR="/home/ceiec/nms/datacontroller" + +# --- set install dir +PRG="$0" +PRGDIR=`dirname "$PRG"` +CUR_PRGDIR=`cd "$PRGDIR"; pwd` + +if [ $# = 0 ] + then + echo -n "enter intall dir [default: $DEFAULT_INSTALL_DIR]:" + read INSTALL_DIR + if [ -z "$INSTALL_DIR" ]; then + INSTALL_DIR="$DEFAULT_INSTALL_DIR" + fi +else + INSTALL_DIR="$1" +fi + +if [ ! -d $INSTALL_DIR ] + then + mkdir -p $INSTALL_DIR +fi + +INSTALL_DIR=`cd "$INSTALL_DIR"; pwd` + +# --- check jdk and jdk-version +install_jdk=0 +javaversion=`java -version 2>&1|grep "java version"` +if [ -n "$javaversion" ] + then + # javaversion=${javaversion:14:3} + javavmajor=`echo $javaversion | cut -c15` + javavminor=`echo $javaversion | cut -c17` +# OS_TYPE=$( lsb_release -d| cut -d: -f2| cut -f2 ) +# if [ "`echo $OS_TYPE | cut -c1-6`" = "Ubuntu" ] +# then +# if [ 2 -gt $javavmajor ]; then +# if [ 6 -gt $javavminor ]; then +# install_jdk=1 +# fi +# fi +# else + if [[ 2 -gt $javavmajor && 6 -gt $javavminor ]]; then + install_jdk=1 + fi +# fi + else + install_jdk=1 +fi + +# --- install jdk +cd "$INSTALL_DIR"/.. +NMS_JDK="$(pwd)/nmsjdk" +JDK_DIR="$(pwd)/jre1.7.0_80" +JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-i586.tar.gz" +if [ "`uname -i`" = "x86_64" ];then + JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-x64.tar.gz" +fi +if [ $install_jdk = 1 ] + then + if [ ! -e "$NMS_JDK" ] + then + echo "JDK bin file: $JDK_BIN_FILE" + echo "now, install jdk: $JDK_DIR" + sleep 3 + if [ ! -e "$JDK_DIR" ];then + mkdir -p $JDK_DIR + fi + tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1 + if [ -n "$installJdk" ];then + echo "install jdk failure, exit program" + exit 1 + fi + ln -s $JDK_DIR $NMS_JDK + echo "install jdk done" + fi +elif [ -n "$JAVA_HOME" ];then + ln -s $JAVA_HOME $NMS_JDK +else + echo "JDK bin file: $JDK_BIN_FILE" + echo "now, install jdk: $JDK_DIR" + sleep 3 + if [ ! -e "$JDK_DIR" ];then + mkdir -p $JDK_DIR + fi + tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1 + if [ -n "$installJdk" ];then + echo "install jdk failure, exit program" + exit 1 + fi + ln -s $JDK_DIR $NMS_JDK + echo "install jdk done" +fi +cd "$CUR_PRGDIR" + +echo "===========================================" +echo "NMS_JDK: $NMS_JDK" +echo "INSTALL_DIR: $INSTALL_DIR" +echo "===========================================" + +# --- copy file to install_dir +if [ "$INSTALL_DIR" == "$CUR_PRGDIR" ] + then + echo "install directory is current program directory..." +else + echo "install program, it may take a few time..." + CP_DIR=( + bin + lib + conf + shell + ) + #cp + for CP_NAME in ${CP_DIR[@]} + do + echo $CP_NAME + cp -a $CUR_PRGDIR"/$CP_NAME" $INSTALL_DIR + done +fi + +function modify_file(){ + if [ $# != 2 ] + then + echo "usage: modify_file [prop_name] [prop_value]" + exit 0 + fi + prop_name="$1" + prop_value="$2" + #echo "modify_file $prop_name $prop_value" + if [ -z "$(cat $PROP_FILE |grep $prop_name)" ] + then + echo "" >> $PROP_FILE + echo "$prop_name=$prop_value" >> $PROP_FILE + else + sed -i "s|^$prop_name.*|$prop_name=$prop_value|" $PROP_FILE + fi +} + +enter_password="" +function readPasswd(){ + enter_password="" + stty -echo cbreak + while true + do + character=$(dd if=/dev/tty bs=1 count=1 2> /dev/null) + case $character in + $(echo -e "\n")) + break + ;; + $(echo -e "\b")) + if [ -n "$enter_password" ]; then + echo -n -e "\b \b" + enter_password=$(echo "$password" | sed 's/.$//g') + fi + ;; + *) + enter_password=$enter_password$character + echo -n '*' + ;; + esac + done + stty -cbreak echo + echo "" +} + +# modify property +PROP_FILE=$INSTALL_DIR"/conf/myconfig.properties" + +#echo "PROP_FILE: $PROP_FILE" + +#-------------data dir +echo -n "enter data dir [default $DEFAULT_DATA_DIR]: " +read data_path +if [ -z "$data_path" ] + then + data_path="$DEFAULT_DATA_DIR" +fi +#-------------local ip +echo -n "enter local ip: " +read local_ip +while [ -z "$local_ip" ] + do + echo -n "local ip cannot null, please enter local ip: " + read local_ip +done +#-------------nmsweb ip +echo -n "enter nmsweb ip: " +read nmsweb_ip +while [ -z "$nmsweb_ip" ] + do + echo -n "nmsweb ip cannot null, please enter nmsweb ip: " + read nmsweb_ip +done +#-------------db url +#echo -n "enter database url: " +#read db_url +#while [ -z "$db_url" ] +# do +# echo -n "database url cannot null, please enter database url: " +# read db_url +#done + +#2018-08-26 修改url为只传host和port(默认3306)拼接完成后赋值给db.url +DBPORT=3306 +#-------------db host +echo -n "enter database host:" +read db_host +while [ -z "$db_host" ] +do + echo -n "database host cannot null,please enter database host:" + read db_host +done + +#-------------db port +echo -n "enter database port[default port 3306]:" +read db_port +if [ -z "$db_port" ] +then + db_port="$DBPORT" +fi + +#-----------db url +db_url="jdbc:mysql://"${db_host}":"${db_port}"/nms?useUnicode=true\&characterEncoding=utf-8\&useOldAliasMetadataBehavior=true\&rewriteBatchedStatements=true" + +#-------------db username +echo -n "enter database username: " +read db_username +while [ -z "$db_username" ] + do + echo -n "database username cannot null, please enter database username: " + read db_username +done +#-------------db password +echo -n "enter database password: " +readPasswd +db_passwd="$enter_password" +while [ -z "$db_passwd" ] + do + echo -n "database password cannot null, please enter database password: " + readPasswd + db_passwd="$enter_password" +done +#-------------log4j dir +echo -n "enter logs path [default $data_path/dc_logs]: " +read logs_path +if [ -z "$logs_path" ] + then + logs_path="$data_path/dc_logs" +fi + +modify_file "common.datas.dir" $data_path +modify_file "system.inet.address" $local_ip +modify_file "web.socket.ip" $nmsweb_ip +modify_file "db.url" $db_url +modify_file "db.username" $db_username +modify_file "db.password" $db_passwd + +# modify log4j +PROP_FILE=$INSTALL_DIR"/conf/log4j.properties" +encoding=${LANG#*.} +modify_file "log4j.appender.stdout.encoding" $encoding +modify_file "log4j.appender.debugAppender.encoding" $encoding +modify_file "log4j.appender.infoAppender.encoding" $encoding +modify_file "log4j.appender.debugAppender.File" "$logs_path/datacontroller_debug.log" +modify_file "log4j.appender.infoAppender.File" "$logs_path/datacontroller_info.log" + +#permit +cd $INSTALL_DIR"/shell" +chmod 755 *.sh +cd $CUR_DIR + +if [ -z "$(cat /etc/rc.local|grep $INSTALL_DIR"/shell/startup.sh")" ] +then + echo $INSTALL_DIR"/shell/startup.sh" >> /etc/rc.local +fi + +echo "install successed..." +echo "please use [$INSTALL_DIR/shell/startup.sh] to run the program..."
\ No newline at end of file diff --git a/datacontroller/DC_install/lib/FUtil-0.5.jar b/datacontroller/DC_install/lib/FUtil-0.5.jar Binary files differnew file mode 100644 index 0000000..cb1759c --- /dev/null +++ b/datacontroller/DC_install/lib/FUtil-0.5.jar diff --git a/datacontroller/DC_install/lib/ObjectSNMP.jar b/datacontroller/DC_install/lib/ObjectSNMP.jar Binary files differnew file mode 100644 index 0000000..e06bc88 --- /dev/null +++ b/datacontroller/DC_install/lib/ObjectSNMP.jar diff --git a/datacontroller/DC_install/lib/ant.jar b/datacontroller/DC_install/lib/ant.jar Binary files differnew file mode 100644 index 0000000..0a56a58 --- /dev/null +++ b/datacontroller/DC_install/lib/ant.jar diff --git a/datacontroller/DC_install/lib/bonecp-0.8.0-rc2.jar b/datacontroller/DC_install/lib/bonecp-0.8.0-rc2.jar Binary files differnew file mode 100644 index 0000000..0866e9f --- /dev/null +++ b/datacontroller/DC_install/lib/bonecp-0.8.0-rc2.jar diff --git a/datacontroller/DC_install/lib/commons-beanutils-1.7.jar b/datacontroller/DC_install/lib/commons-beanutils-1.7.jar Binary files differnew file mode 100644 index 0000000..b1b89c9 --- /dev/null +++ b/datacontroller/DC_install/lib/commons-beanutils-1.7.jar diff --git a/datacontroller/DC_install/lib/commons-collections.jar b/datacontroller/DC_install/lib/commons-collections.jar Binary files differnew file mode 100644 index 0000000..75580be --- /dev/null +++ b/datacontroller/DC_install/lib/commons-collections.jar diff --git a/datacontroller/DC_install/lib/commons-io.jar b/datacontroller/DC_install/lib/commons-io.jar Binary files differnew file mode 100644 index 0000000..7affdef --- /dev/null +++ b/datacontroller/DC_install/lib/commons-io.jar diff --git a/datacontroller/DC_install/lib/commons-lang.jar b/datacontroller/DC_install/lib/commons-lang.jar Binary files differnew file mode 100644 index 0000000..b910561 --- /dev/null +++ b/datacontroller/DC_install/lib/commons-lang.jar diff --git a/datacontroller/DC_install/lib/commons-logging.jar b/datacontroller/DC_install/lib/commons-logging.jar Binary files differnew file mode 100644 index 0000000..8758a96 --- /dev/null +++ b/datacontroller/DC_install/lib/commons-logging.jar diff --git a/datacontroller/DC_install/lib/commons-net-ftp-2.0.jar b/datacontroller/DC_install/lib/commons-net-ftp-2.0.jar Binary files differnew file mode 100644 index 0000000..f697534 --- /dev/null +++ b/datacontroller/DC_install/lib/commons-net-ftp-2.0.jar diff --git a/datacontroller/DC_install/lib/druid-1.0.23.jar b/datacontroller/DC_install/lib/druid-1.0.23.jar Binary files differnew file mode 100644 index 0000000..ff5a0ab --- /dev/null +++ b/datacontroller/DC_install/lib/druid-1.0.23.jar diff --git a/datacontroller/DC_install/lib/druid-1.1.10.jar b/datacontroller/DC_install/lib/druid-1.1.10.jar Binary files differnew file mode 100644 index 0000000..545dfa7 --- /dev/null +++ b/datacontroller/DC_install/lib/druid-1.1.10.jar diff --git a/datacontroller/DC_install/lib/ezmorph-1.0.4.jar b/datacontroller/DC_install/lib/ezmorph-1.0.4.jar Binary files differnew file mode 100644 index 0000000..7625af6 --- /dev/null +++ b/datacontroller/DC_install/lib/ezmorph-1.0.4.jar diff --git a/datacontroller/DC_install/lib/fileComment.jar b/datacontroller/DC_install/lib/fileComment.jar Binary files differnew file mode 100644 index 0000000..8c251d9 --- /dev/null +++ b/datacontroller/DC_install/lib/fileComment.jar diff --git a/datacontroller/DC_install/lib/ganymed-ssh2-build210.jar b/datacontroller/DC_install/lib/ganymed-ssh2-build210.jar Binary files differnew file mode 100644 index 0000000..e3bde26 --- /dev/null +++ b/datacontroller/DC_install/lib/ganymed-ssh2-build210.jar diff --git a/datacontroller/DC_install/lib/guava-14.0-rc3.jar b/datacontroller/DC_install/lib/guava-14.0-rc3.jar Binary files differnew file mode 100644 index 0000000..ddead0c --- /dev/null +++ b/datacontroller/DC_install/lib/guava-14.0-rc3.jar diff --git a/datacontroller/DC_install/lib/jconsole-1.8.0.jar b/datacontroller/DC_install/lib/jconsole-1.8.0.jar Binary files differnew file mode 100644 index 0000000..2d4e09c --- /dev/null +++ b/datacontroller/DC_install/lib/jconsole-1.8.0.jar diff --git a/datacontroller/DC_install/lib/jpcap.jar b/datacontroller/DC_install/lib/jpcap.jar Binary files differnew file mode 100644 index 0000000..8abd7bb --- /dev/null +++ b/datacontroller/DC_install/lib/jpcap.jar diff --git a/datacontroller/DC_install/lib/json-lib-2.2.2-jdk15.jar b/datacontroller/DC_install/lib/json-lib-2.2.2-jdk15.jar Binary files differnew file mode 100644 index 0000000..27e7c7c --- /dev/null +++ b/datacontroller/DC_install/lib/json-lib-2.2.2-jdk15.jar diff --git a/datacontroller/DC_install/lib/junit.jar b/datacontroller/DC_install/lib/junit.jar Binary files differnew file mode 100644 index 0000000..674d71e --- /dev/null +++ b/datacontroller/DC_install/lib/junit.jar diff --git a/datacontroller/DC_install/lib/log4j-1.2.15.jar b/datacontroller/DC_install/lib/log4j-1.2.15.jar Binary files differnew file mode 100644 index 0000000..c930a6a --- /dev/null +++ b/datacontroller/DC_install/lib/log4j-1.2.15.jar diff --git a/datacontroller/DC_install/lib/mail.jar b/datacontroller/DC_install/lib/mail.jar Binary files differnew file mode 100644 index 0000000..e6f7083 --- /dev/null +++ b/datacontroller/DC_install/lib/mail.jar diff --git a/datacontroller/DC_install/lib/mysql-connector-java-5.1.0-bin.jar b/datacontroller/DC_install/lib/mysql-connector-java-5.1.0-bin.jar Binary files differnew file mode 100644 index 0000000..d848c13 --- /dev/null +++ b/datacontroller/DC_install/lib/mysql-connector-java-5.1.0-bin.jar diff --git a/datacontroller/DC_install/lib/netty-all-4.1.28.Final-sources.jar b/datacontroller/DC_install/lib/netty-all-4.1.28.Final-sources.jar Binary files differnew file mode 100644 index 0000000..f1fbc97 --- /dev/null +++ b/datacontroller/DC_install/lib/netty-all-4.1.28.Final-sources.jar diff --git a/datacontroller/DC_install/lib/netty-all-4.1.28.Final.jar b/datacontroller/DC_install/lib/netty-all-4.1.28.Final.jar Binary files differnew file mode 100644 index 0000000..058662e --- /dev/null +++ b/datacontroller/DC_install/lib/netty-all-4.1.28.Final.jar diff --git a/datacontroller/DC_install/lib/ojdbc14.jar b/datacontroller/DC_install/lib/ojdbc14.jar Binary files differnew file mode 100644 index 0000000..2bcaa01 --- /dev/null +++ b/datacontroller/DC_install/lib/ojdbc14.jar diff --git a/datacontroller/DC_install/lib/ostermillerutils_1_07_00.jar b/datacontroller/DC_install/lib/ostermillerutils_1_07_00.jar Binary files differnew file mode 100644 index 0000000..a993150 --- /dev/null +++ b/datacontroller/DC_install/lib/ostermillerutils_1_07_00.jar diff --git a/datacontroller/DC_install/lib/sigar.jar b/datacontroller/DC_install/lib/sigar.jar Binary files differnew file mode 100644 index 0000000..8fe8400 --- /dev/null +++ b/datacontroller/DC_install/lib/sigar.jar diff --git a/datacontroller/DC_install/lib/slf4j-api-1.6.1.jar b/datacontroller/DC_install/lib/slf4j-api-1.6.1.jar Binary files differnew file mode 100644 index 0000000..42e0ad0 --- /dev/null +++ b/datacontroller/DC_install/lib/slf4j-api-1.6.1.jar diff --git a/datacontroller/DC_install/lib/slf4j-log4j12-1.6.1.jar b/datacontroller/DC_install/lib/slf4j-log4j12-1.6.1.jar Binary files differnew file mode 100644 index 0000000..873d119 --- /dev/null +++ b/datacontroller/DC_install/lib/slf4j-log4j12-1.6.1.jar diff --git a/datacontroller/DC_install/lib/snmp4j-2.0.3.jar b/datacontroller/DC_install/lib/snmp4j-2.0.3.jar Binary files differnew file mode 100644 index 0000000..2e9ecbb --- /dev/null +++ b/datacontroller/DC_install/lib/snmp4j-2.0.3.jar diff --git a/datacontroller/DC_install/lib/tools-1.8.0.jar b/datacontroller/DC_install/lib/tools-1.8.0.jar Binary files differnew file mode 100644 index 0000000..b211c4a --- /dev/null +++ b/datacontroller/DC_install/lib/tools-1.8.0.jar diff --git a/datacontroller/DC_install/shell/cer/client_ks b/datacontroller/DC_install/shell/cer/client_ks Binary files differnew file mode 100644 index 0000000..79459cc --- /dev/null +++ b/datacontroller/DC_install/shell/cer/client_ks diff --git a/datacontroller/DC_install/shell/cer/client_ts b/datacontroller/DC_install/shell/cer/client_ts Binary files differnew file mode 100644 index 0000000..312ecd6 --- /dev/null +++ b/datacontroller/DC_install/shell/cer/client_ts diff --git a/datacontroller/DC_install/shell/cer/server_ks b/datacontroller/DC_install/shell/cer/server_ks Binary files differnew file mode 100644 index 0000000..4a9cbdf --- /dev/null +++ b/datacontroller/DC_install/shell/cer/server_ks diff --git a/datacontroller/DC_install/shell/cer/server_ts b/datacontroller/DC_install/shell/cer/server_ts Binary files differnew file mode 100644 index 0000000..fa56598 --- /dev/null +++ b/datacontroller/DC_install/shell/cer/server_ts diff --git a/datacontroller/DC_install/shell/datacontroller.sh b/datacontroller/DC_install/shell/datacontroller.sh new file mode 100644 index 0000000..dfb7d8a --- /dev/null +++ b/datacontroller/DC_install/shell/datacontroller.sh @@ -0,0 +1,197 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Start/Stop Script for the DATACONTROLLER Server +# +# Environment Variable Prequisites +# +# DATACONTROLLER_HOME May point at your DATACONTROLLER "build" directory. +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` + +# Only set DATACONTROLLER_HOME if not already set +[ -z "$DATACONTROLLER_HOME" ] && DATACONTROLLER_HOME=`cd "$PRGDIR/.." ; pwd` +cd "$DATACONTROLLER_HOME"/shell + +if [ -z "$DATACONTROLLER_TMPDIR" ] ; then + DATACONTROLLER_TMPDIR="$DATACONTROLLER_HOME"/temp +fi +if [ ! -d $DATACONTROLLER_TMPDIR ] + then + mkdir $DATACONTROLLER_TMPDIR +fi + +# -------- check jdk +# check nmsjdk +NMS_HOME=`cd "$DATACONTROLLER_HOME/.." ; pwd` +cd "$DATACONTROLLER_HOME"/shell +NMS_JDK="$NMS_HOME"/nmsjdk +if [ ! -e "$NMS_JDK" ] + then + echo "$NMS_JDK not exist" + exit 0 +fi +# check java -version +javaversion=`$NMS_JDK/bin/java -version 2>&1|grep "java version"` +if [ ! -n "$javaversion" ] + then + echo "$NMS_JDK cannot use, please install" + exit 0 +fi + +# -------- set jdk path +export JAVA_HOME=$NMS_JDK +export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar +export PATH=$JAVA_HOME/bin:$PATH + +temp=$CLASSPATH +#setting libs path +libs="$DATACONTROLLER_HOME"/lib/* +append(){ + temp=$temp":"$1 +} +for file in $libs; do + append $file +done +jars="$DATACONTROLLER_HOME"/bin/* +for file in $jars; do + append $file +done +export DC_CLASSPATH=$temp:.:$DATACONTROLLER_HOME/conf +export LD_LIBRARY_PATH=$DATACONTROLLERT_HOME/lib +export LANG=zh_CN.UTF-8 + +echo "Using DATACONTROLLER_HOME: $DATACONTROLLER_HOME" +echo "Using DATACONTROLLER_TMPDIR: $DATACONTROLLER_TMPDIR" +echo "Using JAVA_HOME: $JAVA_HOME" +echo "Using CLASSPATH: $DC_CLASSPATH" + +# ---- get jvm param +jvmconf_file=$DATACONTROLLER_HOME"/conf/jvm.conf" +if [ -f $jvmconf_file ] + then + XmsOpt=`sed -n '/-Xms/p' $jvmconf_file` + XmxOpt=`sed -n '/-Xmx/p' $jvmconf_file` + JAVA_OPTS="$XmsOpt $XmxOpt -XX:+UseParNewGC" +else + JAVA_OPTS="-Xms64m -Xmx256m -XX:+UseParNewGC" +fi + +program="com.nms.server.DataController" +name="DataController" + +proc_id= + +writePid() +{ + ps aux|grep java|grep $program|grep -v grep|awk '{print $2}' > $DATACONTROLLER_TMPDIR/serverPid.temp +} +getPid() +{ + unset proc_id + proc_id=`ps aux|grep java|grep $program|grep -v grep|awk '{print $2}'` +} + +if [ "$1" = "start" ] ; then + getPid + if [ -n "$proc_id" ] + then + echo "$name already running......" + else + nohup java $JAVA_OPTS -classpath $DC_CLASSPATH $program >/dev/null & + sleep 3 + getPid + if [ -n "$proc_id" ] + then + echo "$name start success!!!!!" + writePid + else + echo "$name start error!!!!!" + fi + fi +elif [ "$1" = "stop" ]; then + getPid + if [ -n "$proc_id" ] + then + echo "$name is start, now kill......" + kill -15 $proc_id + sleep 3 + writePid + echo "$name kill ok !!!!!!!!!!!!!" + else + echo "$name is not start!!!!!!!!!!!" + fi +elif [ "$1" = "restart" ] ; then + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name is start, now restart......" >> $DATACONTROLLER_TMPDIR/job.log + count=1 + while [ $count -le 3 ] + do + sleep 1 + kill -15 $proc_id + sleep 1 + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop success!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + break + fi + count=$count+1 + done + + getPid + if [ -n "$proc_id" ] + then + sleep 1 + kill -9 $proc_id + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop -9 error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + exit 1 + fi + fi + + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name is not start, now start......" >> $DATACONTROLLER_TMPDIR/job.log + fi + + #--------copy right, start proc + nohup java $JAVA_OPTS -classpath $DC_CLASSPATH $program >/dev/null & + sleep 3 + getPid + if [ -n "$proc_id" ] + then + writePid + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name restart success!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name restart error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + fi + +else + echo "Usage: datacontroller.sh ( commands ... )" + echo "commands:" + echo " start Start $name" + echo " stop Stop $name" + echo " restart ReStart $name in a separate window" +fi + +cd - diff --git a/datacontroller/DC_install/shell/shutdown.sh b/datacontroller/DC_install/shell/shutdown.sh new file mode 100644 index 0000000..f6dca3a --- /dev/null +++ b/datacontroller/DC_install/shell/shutdown.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Stop Script for the NMS Server +# +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=datacontroller.sh + +if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "This file is needed to run this program" + exit 1 +fi + +exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
\ No newline at end of file diff --git a/datacontroller/DC_install/shell/startup.sh b/datacontroller/DC_install/shell/startup.sh new file mode 100644 index 0000000..eabf268 --- /dev/null +++ b/datacontroller/DC_install/shell/startup.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Start/Stop Script for the NMSSERVER Server +# +# Environment Variable Prequisites +# +# NMSSERVER_HOME May point at your NMSSERVER "build" directory. +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` + +EXECUTABLE=datacontroller.sh + +if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "This file is needed to run this program" + exit 1 +fi + +exec "$PRGDIR"/"$EXECUTABLE" start "$@" |
