init import

This commit is contained in:
bsdbc
2019-04-02 09:52:52 +08:00
parent 48f09fa63d
commit 4f1a03aeb9
122 changed files with 23956 additions and 0 deletions

83
nmsclient/3Cerrorlog.sh Normal file
View File

@@ -0,0 +1,83 @@
#!/bin/bash
base_dir="/home/ceiec/nms/nmsclient"
conf=$base_dir"/conf/process.list"
temp_dir=$base_dir"/temp"
temp_filelist=$temp_dir"/findfile.list"
myselfpid=$temp_dir"/cXlogrep.pid"
diconf_dir="/home/ceiec/nms/nmsdata/nc_config"
#diconf_file=$diconf_dir"/checktype100017_detection100103.cfg"
diconf_file=`echo $0 | awk -F '/' '{print $NF}' | awk -F '.' '{print $1}' `
diconf_file=$diconf_dir"/"$diconf_file".cfg"
echo `date` $diconf_file >> /home/ceiec/nms/nmsclient/nc_logs/ttt.log
cXlog_dir="/home/ceiec/nms/nmsclient/temp/pjr/20180828_1000_ccCli/bin/log_dir"
findmaxdep=3
monitorstart=`stat $diconf_file | grep Modify | awk '{print $2" "$3}'`
mstimestamp=`date -d "$monitorstart" +%s%N`
remstimestamp=$((mstimestamp/1000000))
clogmaxsize=1024
mypid=$$
echo $$ > $myselfpid
#echo $conf
didata_dir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
ditemp_dir=`cat $diconf_file | grep tempDataFileDir | cut -d = -f 2`
checkGap=`cat $diconf_file | grep checkGap | cut -d = -f 2`
sleeptime=$((checkGap*60))
dataFileDir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
pubInfo=`cat $diconf_file | grep pubInfo | cut -d = -f 2`
pdate=`date +'%Y%m%d%H%M%S'`
stat_file=$temp_dir"/$pdate"".rep"
incoming_file=$temp_dir"/$pdate"".csv"
temp_file=$temp_dir"/$pdate"".tmp"
timeStamp=`date +%s%N`
currentTimeStamp=$((timeStamp/1000000))
later15mTimeStamp=$((currentTimeStamp+checkGap*60*1000))
linenum=0
find $cXlog_dir -maxdepth $findmaxdep -mmin -$checkGap -name "*cc_send*" > $temp_filelist
#find $cXlog_dir -maxdepth $findmaxdep -mmin -$sleeptime -name "*cc_send*" > $temp_filelist
while read pline
do
if [ -n $pline ]; then
filesize=`ls -l $pline | awk '{ print $5 }'`
echo filesize=$filesize
if [ $filesize -gt $clogmaxsize ]; then
echo -e "$pline,,--,--,The log file is bigger than 1M. Please check it on server," >> $stat_file
linenum=$((linenum+1))
else
while read logline
do
retime=`echo $logline | awk -F '.' '{print $1}'`
c3ip=`echo $logline | awk '{print $3}'`
gdevip=`echo $logline | awk '{print $4}'`
repcontent=`echo $logline | awk '{for (i=5 ;i<=NF;i++) printf $i " | "; printf "\n" }'`
linenum=$((linenum+1))
echo -e "$pline,$retime,$c3ip,$gdevip,$repcontent," >> $stat_file
done < $pline
fi
fi
done < $temp_filelist
echo "$pubInfo,$remstimestamp,0,$currentTimeStamp,1,$later15mTimeStamp,1,OK,OK" > $temp_file
if [ -f $stat_file ]; then
linenum=`cat $stat_file | wc -l`
echo "details,$linenum" >> $temp_file
cat $stat_file >> $temp_file
else
echo "details,1" >> $temp_file
echo -e "$pline,,--,--,No cc_send log this $checkGap minites," >> $temp_file
fi
mv $temp_file $ditemp_dir
# rm -rf $stat_file

View File

@@ -0,0 +1 @@
192.168.11.138

View File

@@ -0,0 +1,121 @@
#!/bin/bash
#带颜色输出内容
#$1 颜色 red green yellow 警告 red 成功 green 提示/输入 yellow
#$2 输出语句
#$3 -n y/n 是否换行输出
function pinfo(){
LINE=""
if [[ "$#" -gt 2 ]]; then
#statements
if [[ "$3" = "n" ]]; then
#statements
LINE="-n"
fi
fi
case $1 in
"red")
echo -e $LINE "\e[1;31m "${2}"\e[0m"
;;
"green")
echo -e $LINE "\e[1;32m "${2}"\e[0m"
;;
"yellow")
echo -e $LINE "\e[1;33m "${2}"\e[0m"
;;
"blue")
echo -e $LINE "\e[1;34m "${2}"\e[0m"
;;
*)
echo $LINE $2
;;
esac
}
if [[ "$#" < 2 ]]; then
pinfo red "the script need parameters:dc host and node ip file ! "
exit
fi
#IP_RE="((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))"
IP_RE="^([0-9]{1,3}.){3}[0-9]{1,3}$"
#dc的ip
DC_HOST="$1"
#保存需要安装nc机器ip的文件
NODE_FILE="$2"
#nc安装目录
INSTALL_DIR="/home/ceiec/nms"
if [[ "$DC_HOST" =~ $IP_RE ]]; then
echo -n ""
else
pinfo red "the first parameter dc host is invalid!"
exit
fi
(head "$NODE_FILE" >/dev/null 2>&1)
if [[ "$?" == 1 ]];then
pinfo red "the second parameter node ip file is invalid!"
exit
fi
#当前目录
TEMP=`dirname "$0"`
CUR_DIR=`cd "$TEMP";pwd`
#nc压缩包
NCNAME="nmsclient.tar.gz"
#jre压缩包
JRENAME="jre-7u80-linux-i586.tar.gz"
if [ "`uname -i`" = "x86_64" ];then
JRENAME="jre-7u80-linux-x64.tar.gz"
fi
#绝对路径
NCFILE=${CUR_DIR}"/"${NCNAME}
JREFILE=${CUR_DIR}"/"${JRENAME}
#jre安装目录
JRE_DIR="jre1.7.0_80"
if [[ ! -f "$NCFILE" ]];then
pinfo red "the nmsclient file is not exist!"
exit
fi
if [[ ! -f "$JREFILE" ]];then
pinfo red "the jre file is not exist!"
exit
fi
pinfo yellow "安装程序准备就绪···"
echo "========================================================="
pinfo yellow "开始拷贝jre文件···"
pscp -h "$NODE_FILE" "$JREFILE" /home
pinfo green "拷贝jre文件完成"
echo "========================================================="
pinfo yellow "开始拷贝NC安装程序···"
pscp -h "$NODE_FILE" "$NCFILE" /home
pinfo green "NC安装程序拷贝完成"
echo "========================================================="
function rand(){
min=$1
max=$(($2-$min+1))
num=$(date +%s%N)
echo $(($num%$max+$min))
}
pinfo yellow "开始安装NC···"
echo "========================================================="
prop_name="server_host"
PROP_FILE=${INSTALL_DIR}"/nmsclient/conf/myconfig.properties"
pssh -i -t 60 -h "$NODE_FILE" "mkdir -p ${INSTALL_DIR};mv /home/${NCNAME} ${INSTALL_DIR};tar -xzf ${INSTALL_DIR}/${NCNAME} -C ${INSTALL_DIR};mkdir -p ${INSTALL_DIR}/${JRE_DIR};mv /home/${JRENAME} ${INSTALL_DIR};tar -xzf ${INSTALL_DIR}/${JRENAME} -C ${INSTALL_DIR}/${JRE_DIR} --strip-components=1 ;ln -s ${INSTALL_DIR}/${JRE_DIR} ${INSTALL_DIR}/nmsjdk; sed -i 's|^$prop_name.*|$prop_name=$DC_HOST|' $PROP_FILE;echo '5-20 秒后启动nmsclient~';sleep $(rand 5 20);bash ${INSTALL_DIR}/nmsclient/shell/startup.sh;echo ${INSTALL_DIR}'/nmsclient/shell/startup.sh'>>/etc/rc.d/rc.local;chmod +x /etc/rc.d/rc.local;" 2>>error.log
pinfo green "程序安装完成!"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,170 @@
#!/bin/bash
# --- set default value
DEFAULT_DATA_DIR="/home/ceiec/nms/nmsdata"
DEFAULT_INSTALL_DIR="/home/ceiec/nms/nmsclient"
# --- set install dir
PRG="$0"
PRGDIR=`dirname "$PRG"`
CUR_PRGDIR=`cd "$PRGDIR"; pwd`
INSTALL_DIR="$DEFAULT_INSTALL_DIR"
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: $NMS_JDK"
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: $NMS_JDK"
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
CP_DIR=(
bin
lib
conf
shell
)
#cp
for CP_NAME in ${CP_DIR[@]}
do
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
}
# --- modify property
#-------------file path
path="$DEFAULT_DATA_DIR"
#-------------include path
include_path="$INSTALL_DIR,$path"
#-------------exclude path
exclude_path="$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$INSTALL_DIR/conf"
#-------------log4j dir
logs_path="$path/nc_logs"
PROP_FILE=$INSTALL_DIR"/conf/myconfig.properties"
#echo "PROP_FILE: $PROP_FILE"
modify_file "local.data.path" $path
modify_file "common.del.path.include" $include_path
modify_file "common.del.path.exclude" $exclude_path
# 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/nmsclient_debug.log"
modify_file "log4j.appender.infoAppender.File" "$logs_path/nmsclient_info.log"
#permit
cd $INSTALL_DIR"/shell"
chmod 755 *.sh
cd $CUR_PRGDIR
if [ -z "$(cat /etc/rc.local|grep $INSTALL_DIR"/shell/startup.sh")" ]
then
echo $INSTALL_DIR"/shell/startup.sh" >> /etc/rc.local
fi
echo ""
echo "install successed..."
echo "please use [$INSTALL_DIR/shell/startup.sh] to run the program..."
$INSTALL_DIR/shell/startup.sh

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
# This file list all NTCS processes
# nms
#nmsweb=/home/nms/apache-tomcat-7.0.59/logs
#nmsdc=/home/nms/datacontroller/dc_logs
#nmsclient=/home/nms/nmsclient/nc_logs
# NTCS web
# ntcsweb=apache-tomcat
# NTCS Web-Service MariaDB
mariadb=/var/lib/mysql,db_error.log
# NTCS mid-Service
#galaxy=galaxyTomcat
# Config Line
#tensor=tensor
# AV analysis
#avanalyser=rssb_maskey
#pic=imagePlatform
#voip=voipPlatform
#audio=audio_platform
#video=video_platform
#fragcheck=frag_index_cluster
#blacklist=castle_black
#C2 critial log
pzffff=/home/pjr/20180828_1000_ccCli/bin/log_dir,cc_recv
#this pzffffres must under pzffff
pzffc2res=/home/pjr/20180828_1000_ccCli/bin,RESTART
#C3 critial log
pzffhj=/home/pjr/20180828_1000_cccServer,RESTART

View File

@@ -0,0 +1,2 @@
-Xms64m
-Xmx128m

View File

@@ -0,0 +1,36 @@
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 = 20
log4j.appender.logfile.File = ../nc_logs/nmsclient.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 = ../nc_logs/error.log
log4j.appender.errorLog.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n
log4j.appender.errorLog.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.encoding=UTF-8
log4j.appender.debugAppender.encoding=UTF-8
log4j.appender.infoAppender.encoding=UTF-8
log4j.appender.debugAppender.File=/home/nms/nmsclient/nc_logs/nmsclient_debug.log
log4j.appender.infoAppender.File=/home/nms/nmsclient/nc_logs/nmsclient_info.log

View File

@@ -0,0 +1,90 @@
#-------------------需要修改配置Local Path-----------------
# 文件存放总路径不要放于NmsClient部署目录下根据盘符相应修改
local.data.path=
# 可删范围只有在此路径下的文件Agent才可以删除多个路径逗号隔开
common.del.path.include=
# 禁删范围Agent可删路径下不能删除的路径多个路径逗号隔开若是禁删配置有单个文件需相应修改代码
common.del.path.exclude=
#------------------------SSLSocket----------------------
# DataController部署的主机IP需对应修改
server_host=
# DataController端的监听端口用来与Server通信
server_port = 60702
# NMSClient自己的监听端口用来接收Server发送的信息
agent_port = 60701
# SSL通信此值不能更改
local.ssl.keys=./bin/cer/client_ks
local.ssl.trust=./bin/cer/client_ts
local.ssl.path=./bin/cer
# socket通信超时时间
socket.timeout.minutes=30
#------------------------Common------------------------
# 写文件与通信流默认编码
charset =UTF-8
# 删除日志文件,单位天,默认保存七天,可根据情况修改
common.del.log.days=7
# 删除数据文件(包括监测数据和任务相关文件)单位小时默认保存24小时可根据情况修改
common.del.data.hours=24
# 删除升级时推送过来的文件单位天默认保存90天可根据情况修改
common.del.upgradefile.days=90
# 删除临时文件单位天默认保存2天可根据情况修改
common.del.temp.days=2
# 上传数据循环间隔默认5分钟上传一次可根据情况修改【数据由Server主动收集该属性 废弃】
common.upload.data.minutes=5
# 定时清理内存中已完成的任务时间间隔单位小时默认2小时
common.task.clear.hours=2
#------------------------ThreadPool------------------------
# Socket通讯线程池最大个数
common.thread.socket.size=10
# 定时执行线程池最大个数
common.thread.schedule.size=15
#------------------------Compress--------------------------
# 文件累积达到一定数量压缩打包上传默认1000个可修改
common.zip.min.size=1000
# 压缩打包最多包含文件个数默认2000个可修改
common.zip.max.size=2000
# 回传文件累积达到一定数量压缩打包上传默认10个可修改
common.max.return.size=10
#-------------------------Local Path-------------------------
# 自己写的脚本存放路径,不需修改
local.script.path = ./shell
# 监测配置基本信息文件后缀
local.config.file.suffix = .cfg
# NmsClient启动后PID存放文件需与启动脚本中一致建议不修改
local.agent.pidfile = ./temp/agentPid.temp
#-----------------系统预定义的监测类型(不需修改)----------------
sys.check.type.cpu=cpu
sys.check.type.disk=disk
sys.check.type.memory=memory
sys.check.type.net=net
sys.check.type.systemdate=systemdate
sys.check.type.process=process
sys.check.type.process.nmsagent=nmsclient
sys.check.type.systeminfo=systeminfo
#------------------Debug调试使用(不需修改)---------------------
debug.init.task.flag = 0
debug.plugin.flag = 0
debug.sysdetect.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.uploaddata.flag = 0
debug.alarm.flag = 0
debug.delfile.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.taskresult.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.taskreturn.flag =0
active.alarm.start=true
#监测数据设置告警时对于指定多个标识符如多个盘符、多个CPU、多个网卡的分隔符
alarm.set.marker.separator=|
config.update.flag = 5
#监测数据主动上报,0:启用1不启用
data.send.thread.flag=0
#主动数据上报 ip不填默认为 server_host 的值
#data.send.thread.host=
#主动数据上报 port,默认9527
data.send.thread.port=9527
#主动数据上报间隔 interval单位 s默认为 10s
data.send.thread.interval=10

View File

@@ -0,0 +1,114 @@
# This file list all NTCS processes
# process stat check
processcheck=pidcheck
#NTC Interface
ntcsweb=apache-tomcat
mariadb=mysqld
#NTC Mid
galaxyService=galaxy-service
galaxyFsync=galaxy-fsync-service
galaxyTraffic=galaxy-traffic-service
galaxyPush=galaxy-push-service
galaxyStat=galaxy-stat-service
galaxyTest=galaxyTomcat
#logComplete=log-stream-completion
#logStat=log-stream-stat
#logTopIP=log-stream-top-ip
#logTopN=log-stream-top
#logUV=log-stream-uv
#NTC config distribute
Tensor=Tensor
Redis=Redis
panguValve=pangu_valve
#NTC dynamic config
Redis=Redis
#NTC ASEM
mrzcpd=mrzcpd
Sapp=Sapp
Oam=Oam
#NTC document
maskey2.0=maskey2.0
#NTC multimedia
rssbMaskey=rssb_maskey
fragIndexCluster=frag_index_cluster
castleBlack=castle_black
eastwatch=eastwatch
platformvideo=platformvideo
platformaudio=platformaudio
platformimage=platformimage
platformvoip=platformvoip
# AV analysis
#avanalyser=rssb_maskey
#pic=imagePlatform
#voip=voipPlatform
#audio=audio_platform
#video=video_platform
#fragcheck=frag_index_cluster
#blacklist=castle_black
#NTC protocol
dkLdp=dk_ldp
dkZeusLogclct=dk_zeus_logclct
dkSappClean=dk_sapp_clean
dkZeusNtbapre=dk_zeus_ntbapre
dkSappNtba=dk_sapp_ntba
#NTC log
zookeeper=zookeeper
Kafka=Kafka
Strom=Strom
clickhouse=clickhouse
Hades=Hades
#NTC operations
nmsweb=tomcat
nmsdc=DataController
nmsclient=nmsclient
consul=consul
telegraf=telegraf
infludb=infludb
Grafana=Grafana
#AntiDDOS
mrzcpd=mrzcpd
Sapp=Sapp
Torches=Torches
#IP reuse
irAccess=ir_access
irFoward=sapp
#IP discovery
IPDiscovery=IP_discovery
Redis=Redis
#National agency
Tfe=Tfe
kni=kni
Oam=Oam
#Proxy cache
Minio=Minio
minioEventsPretreat=minio_events_pretreat
minioDeteteClient=minio_detete_client
#proxy cert
certStore=cert_store
redis=redis
#other
# C2 and C3
pzffff=cc_cli
#the following line is just for RESTART log check of C2
pzffc2res=pzffc2res
pzffhj=ccc_ser
pzffkeep=pzff_keep

View File

@@ -0,0 +1,4 @@
#
#Thu Oct 18 17:31:38 CST 2018
NS_version=100041
NA_version=100034

View File

@@ -0,0 +1,215 @@
#!/bin/bash
# --- set default value
DEFAULT_DATA_DIR="/home/ceiec/nms/nmsdata"
DEFAULT_INSTALL_DIR="/home/ceiec/nms/nmsclient"
# --- 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
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
}
# --- modify property
#-------------file path
echo -n "please enter data path, notice: this path not within $INSTALL_DIR, [default $DEFAULT_DATA_DIR]: "
read path
if [ -z "$path" ]
then
path="$DEFAULT_DATA_DIR"
fi
#-------------include path
echo -n "delete include path [default $INSTALL_DIR,$path ]: "
read include_path
if [ -z "$include_path" ]
then
include_path="$INSTALL_DIR,$path"
else
include_path="$INSTALL_DIR,$path,$include_path"
fi
#-------------exclude path
echo -n "delete exclude path [default $INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$INSTALL_DIR/conf ]: "
read exclude_path
if [ -z "$exclude_path" ]
then
exclude_path="$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell"
else
exclude_path="$$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$exclude_path"
fi
#-------------nmsserver ip
echo -n "enter DataController ip: "
read server_ip
while [ -z "$server_ip" ]
do
echo -n "DataController ip cannot null, please enter ip: "
read server_ip
done
#-------------log4j dir
echo -n "enter logs path [default $path/nc_logs]: "
read logs_path
if [ -z "$logs_path" ]
then
logs_path="$path/nc_logs"
fi
#path=${path//\//\\/}
PROP_FILE=$INSTALL_DIR"/conf/myconfig.properties"
#echo "PROP_FILE: $PROP_FILE"
modify_file "local.data.path" $path
modify_file "common.del.path.include" $include_path
modify_file "common.del.path.exclude" $exclude_path
modify_file "server_host" $server_ip
# 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/nmsclient_debug.log"
modify_file "log4j.appender.infoAppender.File" "$logs_path/nmsclient_info.log"
#permit
cd $INSTALL_DIR"/shell"
chmod 755 *.sh
cd $CUR_PRGDIR
if [ -z "$(cat /etc/rc.local|grep $INSTALL_DIR"/shell/startup.sh")" ]
then
echo $INSTALL_DIR"/shell/startup.sh" >> /etc/rc.local
fi
echo ""
echo "install successed..."
echo "please use [$INSTALL_DIR/shell/startup.sh] to run the program..."

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,47 @@
#!/usr/bin/expect
if {$argc!=3} {
send_user "usage: check_userpass.sh ip name password\n"
exit 1
}
set host [lindex $argv 0]
set user [lindex $argv 1]
set pass [lindex $argv 2]
set isSend 0
spawn ssh -t "${user}@${host}"
while 1 {
expect {
"* (yes/no)*" {send "yes\r"}
"* <20><><EFBFBD><EFBFBD>*" {
send "${pass}\r"
set isSend 1
}
"* password:*" {
send "${pass}\r"
set isSend 1
}
"Permission denied" {
send_user "Not allowed\n"
exit 1
}
"*~]" {
send_user "OK\n"
send "exit\r"
exit 0
}
"Last login:*" {
send_user "OK\n"
send "exit\r"
exit 0
}
default {
send_user "error\n"
exit 2
}
}
}

View File

@@ -0,0 +1,78 @@
#!/usr/bin/expect
if {$argc!=4&&$argc!=3} {
send_user "usage: execCmdBySu.sh resultFlag command name \[password\]\n"
exit 1
}
# 0<><30>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ȡ<EEB2A2>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ִ<EFBFBD><D6B4>&<26><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>
set resultFlag [lindex $argv 0]
set cmd [lindex $argv 1]
set user [lindex $argv 2]
set pass [lindex $argv 3]
set timeout 30
set flag 0
#<23>رտ<D8B1><D5BF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
log_user 0
spawn whoami
expect "root" {set flag 1}
# <20><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>${cmd}<7D><>׷<EFBFBD><D7B7>"echo $?",Ϊ<><CEAA>ȡcmd<6D><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ʵ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if {$resultFlag==0} {
spawn su - -c "${cmd};echo $?" ${user}
#<23><>ǰ<EFBFBD><C7B0>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>root<6F><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if {$flag==0} {
expect {
"<22><><EFBFBD><EFBFBD>*" {send ${pass}\r}
"password*" {send ${pass}\r}
default {
send_error "error\n"
exit 2
}
}
}
#<23>򿪿<EFBFBD><F2BFAABF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
log_user 1
expect {
"* <20><><EFBFBD><EFBFBD><EBB2BB>ȷ*" {exit 1}
#----<2D>˴<EFBFBD><CBB4><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ܶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
eof {exit 0}
}
} else {
spawn su - -c "${cmd}" ${user}
#<23><>ǰ<EFBFBD><C7B0>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>root<6F><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if {$flag==0} {
expect {
"<22><><EFBFBD><EFBFBD>*" {send ${pass}\r}
"password*" {send ${pass}\r}
default {
send_error "error\n"
exit 2
}
}
}
expect {
"* <20><><EFBFBD><EFBFBD><EBB2BB>ȷ*" {exit 1}
#----Ϊ<><CEAA>&<26><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
eof {
send_user "ok\n"
exit 0
}
}
}
interact
exit 0
#overlay chess
#overlay program args
#disconnect
#close -onexec 0 -i ${spawn_id}
#remove_nulls 1

View File

@@ -0,0 +1,270 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Start/Stop Script for the NMS Client
#
# Environment Variable Prequisites
#
# NMSCLEINT_HOME May point at your Catalina "build" directory.
#
# NMSCLIENT_TASKDIR (Optional) Directory path location of taskresult directory
# Defaults to %NMSCLIENT_HOME%/task.
#
# NMSCLIENT_TMPDIR (Optional) Directory path location of temporary directory
# the JVM should use (java.io.tmpdir). Defaults to
# $NMSCLIENT_HOME/temp.
#
# JAVA_HOME Must point at your Java Development Kit installation.
# Required to run the with the "debug" argument.
#
# -----------------------------------------------------------------------------
# resolve links - $0 may be a softlink
PRG="$0"
if [ -f /etc/redhat-release ]; then
OS_TYPE=`cat /etc/redhat-release`
else
islsb=`which lsb_release | wc -l`
if [ "$islsb" != "0" ]; then
OS_TYPE=$( lsb_release -d| cut -d: -f2| cut -f2 )
else
OS_TYPE=`uname -a | awk '{print $1" "$2" "$3}'`
fi
fi
echo $OS_TYPE
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
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set NMSCLEINT_HOME if not already set
[ -z "$NMSCLEINT_HOME" ] && NMSCLEINT_HOME=`cd "$PRGDIR/.." ; pwd`
cd "$NMSCLEINT_HOME"/shell
if [ -z "$NMSCLIENT_TMPDIR" ] ; then
NMSCLIENT_TMPDIR="$NMSCLEINT_HOME"/temp
fi
if [ ! -d $NMSCLIENT_TMPDIR ]
then
mkdir $NMSCLIENT_TMPDIR
fi
if [ -n "$4" ]; then
NMSCLIENT_TASKDIR=`dirname "$4"`
fi
if [ -z "$NMSCLIENT_TASKDIR" ] ; then
NMSCLIENT_TASKDIR="$NMSCLEINT_HOME"/task
fi
# -------- check jdk
# check nmsjdk
NMS_HOME=`cd "$NMSCLEINT_HOME/.." ; pwd`
cd "$NMSCLEINT_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="$NMSCLEINT_HOME"/lib/*
append(){
temp=$temp":"$1
}
for file in $libs; do
append $file
done
jars="$NMSCLEINT_HOME"/bin/*
for file in $jars; do
append $file
done
export NC_CLASSPATH=$temp:.:$NMSCLEINT_HOME/conf
export LD_LIBRARY_PATH=$NMSCLEINT_HOME/lib
export LANG=zh_CN.UTF-8
# Bugzilla 37848: When no TTY is available, don't output to console
have_tty=0
if [ "`tty`" != "not a tty" ]; then
have_tty=1
fi
# ----- Execute The Requested Command -----------------------------------------
# Bugzilla 37848: only output this if we have a TTY
if [ $have_tty -eq 1 ]; then
echo "Using NMSCLEINT_HOME: $NMSCLEINT_HOME"
echo "Using NMSCLIENT_TMPDIR: $NMSCLIENT_TMPDIR"
echo "Using JAVA_HOME: $JAVA_HOME"
echo "Using CLASSPATH: $NC_CLASSPATH"
fi
# ---- get jvm param
jvmconf_file=$NMSCLEINT_HOME"/conf/jvm.conf"
if [ -f $jvmconf_file ]
then
#sed -n '/Xmx=/p' $jvmconf_file | sed 's/Xmx=//g'
XmsOpt=`sed -n '/-Xms/p' $jvmconf_file`
XmxOpt=`sed -n '/-Xmx/p' $jvmconf_file`
JAVA_OPTS="$XmsOpt $XmxOpt -XX:+UseParNewGC"
else
JAVA_OPTS="-Xms64m -Xmx128m -XX:+UseParNewGC"
fi
program="com.nis.nmsclient.NmsClient a"
name="NmsClient-nc"
proc_id=
# handler agent upgrade result
handleTask()
{
if [ -d "$NMSCLIENT_TASKDIR" ]
then
cd $NMSCLIENT_TASKDIR
for i in *.upgrade;do mv "$i" "${i%.upgrade}.result";done >/dev/null 2>&1
cd "$NMSCLEINT_HOME"/shell
fi
}
writePid()
{
ps aux|grep java|grep "$program"|grep -v grep|awk '{print $2}' > $NMSCLIENT_TMPDIR/agentPid.temp
}
getPid()
{
unset proc_id
proc_id=`ps aux|grep java|grep "$program"|grep -v grep|awk '{print $2}'`
}
shouhu_proc="$NMSCLEINT_HOME"/shell/nmsclient_shouhu.sh
stopShouhuProc()
{
shouhu_proc_id=`ps aux|grep $shouhu_proc|grep -v grep|awk '{print $2}'`
if [ -n "$shouhu_proc_id" ]
then
echo "kill shouhu process ....."
kill -9 $shouhu_proc_id
fi
}
startShouhuProc()
{
shouhu_proc_id=`ps aux|grep $shouhu_proc|grep -v grep|awk '{print $2}'`
if [ ! -n "$shouhu_proc_id" ]
then
echo "start shouhu process ....."
nohup $shouhu_proc $NMSCLIENT_TASKDIR >/dev/null &
fi
}
if [ "$1" = "start" ] ; then
getPid
if [ -n "$proc_id" ]
then
echo "$name already running......"
else
nohup java $JAVA_OPTS -classpath $NC_CLASSPATH $program >/dev/null &
sleep 3
getPid
if [ -n "$proc_id" ]
then
echo "$name start success!!!!!"
writePid
else
echo "$name start error!!!!!"
fi
handleTask
fi
elif [ "$1" = "stop" ]; then
getPid
if [ -n "$proc_id" ]
then
stopShouhuProc
sleep 1
echo "$name is start, now kill......"
kill -9 $proc_id
writePid
echo "$name kill ok !!!!!!!!!!!!!"
else
echo "$name is not start!!!!!!!!!!!"
fi
elif [ "$1" = "restart" ] ; then
getPid
if [ -n "$proc_id" ]
then
echo "$name is start, now restart......"
stopShouhuProc
sleep 1
startShouhuProc
kill -9 $proc_id
getPid
if [ -n "$proc_id" ]
then
echo "$name stop error!!!!!!!!!!"
handleTask
exit 1
fi
else
echo "$name is not start, now start......"
fi
copyError=
if [ -n "$2" ] ; then
srcFile=$2
updateFile=/dev/null
if [ -d "$2" ]; then
srcFile="$2"/*
fi
if [ -n "$4" ]; then
updateFile=$4
fi
if [ -n "$3" ]; then
unalias cp >/dev/null 2>&1
cp -rvf $srcFile $3 >>$updateFile 2>&1 ||copyError=1
fi
rm -rf $2 >/dev/null 2>&1
fi
if [ -n "$copyError" ]
then
#----copy error
handleTask
else
#--------copy right, start proc
nohup java $JAVA_OPTS -classpath $NC_CLASSPATH $program >/dev/null &
sleep 3
getPid
if [ -n "$proc_id" ]
then
writePid
else
echo "$name restart error!!!!!!!!!!"
handleTask
fi
fi
else
echo "Usage: nmsagent.sh ( commands ... )"
echo "commands:"
echo " start Start $name in a separate window"
echo " restart ReStart $name in a separate window"
echo " stop Stop $name"
fi

View File

@@ -0,0 +1,55 @@
#!/bin/sh
# 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
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set NMSCLEINT_HOME if not already set
[ -z "$NMSCLEINT_HOME" ] && NMSCLEINT_HOME=`cd "$PRGDIR/.." ; pwd`
cd "$NMSCLEINT_HOME"/shell
NC_TASKDIR="$1"
log_file="$NMSCLEINT_HOME"/temp/job.log
echo "NC_TASKDIR:$NC_TASKDIR" >> $log_file
#count=1
while [ 1 -eq 1 ]
do
sleep 50
if [ `ps -ef | grep NmsClient | grep -v grep | wc -l` -lt 1 ]
then
echo -n "Down at:" >> $log_file
date >> $log_file
# ---------- handler agent upgrade result
if [ -d "$NC_TASKDIR" ]
then
cd $NC_TASKDIR
for i in *.upgrade;do mv "$i" "${i%.upgrade}.result";done >>$log_file 2>&1
cd "$NMSCLEINT_HOME"/shell
fi
# --------- start NC
"$NMSCLEINT_HOME"/shell/startup.sh
echo "NmsClient start...." >>$log_file
fi
sleep 1
#count=$count+1
#if [ count -eq 900 ]
#then
# jpid=`ps -ef | grep java | grep -v grep | cut -c0-5`
# kill -9 $jpid
# count=1
#fi
done

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Retart Script for the NMS Client
#
# -----------------------------------------------------------------------------
# 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=nmsagent.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" restart $1 $2 $3 "$@"

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Stop Script for the NMS Client
#
# -----------------------------------------------------------------------------
# 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=nmsagent.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 "$@"

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Start Script for the NMS Client
#
# -----------------------------------------------------------------------------
# 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=nmsagent.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 "$@"

83
nmsclient/dklog.sh Normal file
View File

@@ -0,0 +1,83 @@
#!/bin/bash
base_dir="/home/ceiec/nms/nmsclient"
conf=$base_dir"/conf/process.list"
temp_dir=$base_dir"/temp"
temp_filelist=$temp_dir"/dkfindfile.list"
myselfpid=$temp_dir"/dklogrep.pid"
diconf_dir="/home/ceiec/nms/nmsdata/nc_config"
#diconf_file=$diconf_dir"/checktype100017_detection100103.cfg"
diconf_file=`echo $0 | awk -F '/' '{print $NF}' | awk -F '.' '{print $1}' `
diconf_file=$diconf_dir"/"$diconf_file".cfg"
echo `date` $diconf_file >> /home/ceiec/nms/nmsclient/nc_logs/ttt.log
cXlog_dir="/home/ict/log_dir/dpkt"
findmaxdep=2
monitorstart=`stat $diconf_file | grep Modify | awk '{print $2" "$3}'`
mstimestamp=`date -d "$monitorstart" +%s%N`
remstimestamp=$((mstimestamp/1000000))
clogmaxsize=1024
mypid=$$
echo $$ > $myselfpid
#echo $conf
didata_dir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
ditemp_dir=`cat $diconf_file | grep tempDataFileDir | cut -d = -f 2`
checkGap=`cat $diconf_file | grep checkGap | cut -d = -f 2`
sleeptime=$((checkGap*60))
dataFileDir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
pubInfo=`cat $diconf_file | grep pubInfo | cut -d = -f 2`
pdate=`date +'%Y%m%d%H%M%S'`
stat_file=$temp_dir"/$pdate"".rep"
incoming_file=$temp_dir"/$pdate"".csv"
temp_file=$temp_dir"/$pdate"".tmp"
timeStamp=`date +%s%N`
currentTimeStamp=$((timeStamp/1000000))
later15mTimeStamp=$((currentTimeStamp+checkGap*60*1000))
linenum=0
find $cXlog_dir -maxdepth $findmaxdep -mmin -$checkGap -name "*info_log*" > $temp_filelist
#find $cXlog_dir -maxdepth $findmaxdep -mmin -$sleeptime -name "*cc_send*" > $temp_filelist
while read pline
do
if [ -n $pline ]; then
filesize=`ls -l $pline | awk '{ print $5 }'`
echo filesize=$filesize
if [ $filesize -gt $clogmaxsize ]; then
echo -e "$pline,,The log file is bigger than 1M. Please check it on server," >> $stat_file
linenum=$((linenum+1))
else
while read logline
do
retime=`echo $logline | awk '{print $1" "$2}'`
#c3ip=`echo $logline | awk '{print $3}'`
#gdevip=`echo $logline | awk '{print $4}'`
repcontent=`echo $logline | awk '{for (i=3 ;i<=NF;i++) printf $i " | "; printf "\n" }'`
linenum=$((linenum+1))
echo -e "$pline,$retime,$repcontent," >> $stat_file
done < $pline
fi
fi
done < $temp_filelist
echo "$pubInfo,$remstimestamp,0,$currentTimeStamp,1,$later15mTimeStamp,1,OK,OK" > $temp_file
if [ -f $stat_file ]; then
linenum=`cat $stat_file | wc -l`
echo "details,$linenum" >> $temp_file
cat $stat_file >> $temp_file
else
echo "details,1" >> $temp_file
echo -e "$pline,,No info log this $checkGap minites," >> $temp_file
fi
mv $temp_file $ditemp_dir
# rm -rf $stat_file

Binary file not shown.

267
nmsclient/process.sh Normal file
View File

@@ -0,0 +1,267 @@
#!/bin/bash
#if [ $# -eq 1 ]; then
# diconf_file=$1
#else
# echo "Missing monitor-config-file info!"
# exit 1
#fi
echo `date` >> /home/ceiec/nms/nmsclient/nc_logs/ttt.log
base_dir="/home/ceiec/nms/nmsclient"
conf=$base_dir"/conf/process.list"
pid_dir=$base_dir"/temp"
myselfpid=$pid_dir"/pidcheck.pid"
diconf_dir="/home/ceiec/nms/nmsdata/nc_config"
diconf_file=`echo $0 | awk -F '/' '{print $NF}' | awk -F '.' '{print $1}' `
file_name=$diconf_file
diconf_file=$diconf_dir"/"$diconf_file".cfg"
clog_conf=$base_dir"/conf/clog.list"
monitorstart=`stat $diconf_file | grep Modify | awk '{print $2" "$3}'`
mstimestamp=`date -d "$monitorstart" +%s%N`
remstimestamp=$((mstimestamp/1000000))
pubInfo=`cat $diconf_file | grep pubInfo | cut -d = -f 2`
mypid=$$
echo $$ > $myselfpid
#echo $conf
pdate=`date +'%Y%m%d%H%M%S'`
stat_file=$pid_dir"/$pdate"".rep"
incoming_file=$pid_dir"/$pdate"".csv"
temp_file=$pid_dir"/$pdate"".tmp"
timeStamp=`date +%s%N`
currentTimeStamp=$((timeStamp/1000000))
later15mTimeStamp=$((currentTimeStamp+checkGap*60*1000))
didata_dir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
ditemp_dir=`cat $diconf_file | grep tempDataFileDir | cut -d = -f 2`
checkGap=`cat $diconf_file | grep checkGap | cut -d = -f 2`
dataFileDir=`cat $diconf_file | grep dataFileDir | cut -d = -f 2`
interstatus=""
perstatus=""
linenum=0
while read pline
do
if [ -n "$pline" ]; then
# echo line=$pline
num=0
isclog=0
firstc=`echo $pline | cut -c 1`
if [ "$firstc" != "#" ]; then
module=`echo $pline | cut -d = -f 1`
keyword=`echo $pline | cut -d = -f 2`
# echo $module $keyword
clog_dir=`cat $clog_conf | grep -v "#" | grep $module | cut -d = -f 2 | cut -d , -f 1`
clog_name=`cat $clog_conf | grep -v "#" | grep $module | cut -d = -f 2 | cut -d , -f 2`
# echo $module : $clog_dir , $clog_name
case $module in
"processcheck")
prostatus=`ps u -P "$mypid" | grep -v grep | grep -v vim | grep -v USER`;
num=`ps u -P "$mypid" | grep -v grep | grep -v vim | grep -v USER | wc -l`;
;;
"nmsweb")
prostatus=`ps aux | grep -E "$keyword" | grep "nms" | grep -v grep | grep -v galaxy`;
num=`ps aux | grep -E "$keyword" | grep "nms" | grep -v grep | grep -v galaxy | wc -l`;
;;
"nmsdc")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep`;
num=`ps aux | grep -E "$keyword" | grep -v grep | wc -l`;
;;
"nmsclient")
prostatus=`ps aux | grep -E "$keyword" | grep -v shouhu | grep -v grep`;
num=`ps aux | grep -E "$keyword" | grep -v shouhu | grep -v grep | wc -l`;
;;
"ntcsweb")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v galaxy | grep -v nms`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v galaxy | grep -v nms | wc -l`;
;;
"mariadb")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v safe`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v safe | wc -l`;
;;
"galaxyService"|"galaxyFsync"|"galaxyPush"|"galaxyStat"|"galaxyTest"|"logComplete"|"logStat"|"logTopIP"|"logTopN"|"logUV")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v Daemon`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v Daemon | wc -l`;
;;
"pzffff"|"pzffhj"|"paffkeep")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"dkAppBehavior"|"dkAppSSL"|"dkHdLdp"|"dkHdNtba"|"dkHdStrategy"|"dkQx"|"dkLogProcess")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"Tensor"|"Redis"|"panguValve")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"redis")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"mrzcpd"|"Sapp"|"Oam")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"maskey2.0")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"rssbMaskey"|"fragIndexCluster"|"castleBlack"|"eastwatch"|"platformvideo"|"platformaudio"|"platformimage"|"platformvoip")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"avanalyser"|"pic"|"voip"|"audio"|"video"|"fragcheck"|"blacklist")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"dkLdp"|"dkZeusLogclct"|"dkSappClean"|"dkZeusNtbapre"|"dkSappNtba")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"zookeeper"|"Kafka"|"Strom"|"clickhouse"|"Hades")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"consul"|"telegraf"|"infludb"|"Grafana")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"mrzcpd"|"Sapp"|"Torches")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"irAccess"|"irFoward")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"IPDiscovery")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"Tfe"|"kni")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"Minio"|"minioEventsPretreat"|"minioDeteteClient")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
"certStore")
prostatus=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh`;
num=`ps aux | grep -E "$keyword" | grep -v grep | grep -v sh | wc -l`;
;;
*)
;;
esac
pidfile=$pid_dir"/"$module".pid";
# echo HERE num=$num
# echo $prostatus
# echo "HERE? "
if [ $num = 1 ]; then
pid=`echo $prostatus | awk '{print $2}'` ;
echo $pid > $pidfile
pstatistics=`ps -eo pid,stat,priority,pcpu,pmem,lstart | grep $pid`
#pcpu=`echo $pstatistics | awk '{print $4}'`
pcpu=`top -c -b -p $pid -n 1 | tail -1 | grep $pid | awk '{print $9}'`
pmem=`echo $pstatistics | awk '{print $5}'`
prostatus=`echo $pstatistics | awk '{print $2}'`
propri=`echo $pstatistics | awk '{print $3}'`
lstart=`echo $pstatistics | awk '{for (i=6 ;i<=NF;i++) printf $i " "; printf "\n" }'`
linenum=$((linenum+1))
# echo $module $clog_dir $clog_name
if [ -n "$clog_dir" ]; then
if [ -n "$clog_name" ]; then
if [ -d $clog_dir ]; then
# echo have filename $clog_dir $clog_name
case $module in
"pzffff")
if [ "$clog_name" = "cc_recv" ]; then
isclog=`find $clog_dir -maxdepth 3 -mmin -$checkGap -name "$clog_name*" | wc -l`
if [ "$isclog" = "0" ]; then
isclog="--!!! $clog_name LOG FILES MISSED IN $checkGap MINUTE ! PLEASE CHECK ON SERVER!!!--"
interstatus=$interstatus"Bad finding on $module $clog_name behavior. | "
else
isclog="OK"
fi
fi
;;
"pzffhj")
isclog=`find $clog_dir -maxdepth 3 -mmin -$checkGap -name "$clog_name*" | wc -l`
if [ "$isclog" = "0" ]; then
isclog="OK"
else
isclog="--!!! $module $clog_name IN $checkGap MINUTE ! PLEASE CHECK ON SERVER!!!--"
interstatus=$interstatus"Bad finding on $module $clog_name behavior. | "
fi
;;
"pzffkeep")
isclog="null"
;;
*)
isclog=`find $clog_dir -mmin -$checkGap -name "$clog_name*" | wc -l`
if [ $isclog -gt 0 ]; then
interstatus=$interstatus"Bad finding on $module $clog_name behavior. | "
fi
isclog="$isclog critical log files are modified in $checkGap minutes."
;;
esac
else
# echo $module log not found
isclog="Log path not found: $clog_dir"
interstatus=$interstatus"Log path wrong. | "
fi
else
if [ -d $clog_dir ]; then
# echo no filename $clog_dir
isclog=`find $clog_dir -maxdepth 1 -mmin -$checkGap | wc -l`
isclog="$isclog critical log files are modified in $checkGap minutes."
fi
fi
else
isclog="null"
fi
echo -e "$module,$pid,$pcpu,$pmem,$prostatus,$propri,$lstart,$isclog," >> $stat_file
else
if [ "$module" = "pzffc2res" ]; then
isclog=`find $clog_dir -mmin -$checkGap -name "$clog_name*" | wc -l`
if [ $isclog -gt 0 ]; then
pzffffline=`grep pzffff $stat_file`
if [ -n "$pzffffline" ]; then
sed -i '/pzffff/d' $stat_file
echo $pzffffline" | RESTART log is modified in $checkGap minites." >> $stat_file
fi
fi
else
pid=""; pstatistics="--"; pcpu=""; pmem=""; prostatus="NotFound"; propri=""; lstart=""; linenum=$((linenum+1));
isclog="null"
interstatus=$interstatus"$module miss something this interval. | "
echo -e "$module,$pid,$pcpu,$pmem,$prostatus,$propri,$lstart,$isclog," >> $stat_file
if [ -f $pidfile ]; then
rm $pidfile
fi
fi
fi
fi
fi
done < $conf
# echo "$pubInfo,$remstimestamp,0,$currentTimeStamp,1,$later15mTimeStamp,1,\"$interstatus\",\"$perstatus\"" > $incoming_file
# echo "details,$linenum" >> $incoming_file
# cat $stat_file >> $incoming_file
echo "0,1,\"$interstatus\"" > $temp_file
echo "details,$linenum" >> $temp_file
cat $stat_file >> $temp_file
mv $temp_file $ditemp_dir
rm -rf $stat_file