ITPub博客

首页 > Linux操作系统 > Linux操作系统 > windows+linux很全面的监控平台

windows+linux很全面的监控平台

原创 Linux操作系统 作者:junnylove 时间:2009-06-22 14:00:13 0 删除 编辑

windows部分

cat_pro_15.bat

echo '' >\\172.20.1.16\d$\erico\monitor\all_system_app_check\pro_15\allPro_15_1.txt
tasklist >\\172.20.1.16\d$\erico\monitor\all_system_app_check\pro_15\allPro_15_1.txt

cat_pro_16.bat

echo '' >d:\erico\monitor\all_system_app_check\pro_16\allPro_6.txt
tasklist >d:\erico\monitor\all_system_app_check\pro_16\allPro_6.txt

####在系统任务那里做任务,每2分钟运行一次

####windows产生的日志推送到linux下解析

 

linux部分

check_file_from_15

 #!/bin/sh
#
##check_file_from_15
##检查172.20.1.15服务器是否产生包括线程运行情况的文件是否传送到(/home/erico/pro_test/allPro.txt) 21服务器####

BACKUPLOGFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check_bak.log"
BAK_LOGFILE="/home/erico/all_system_app_check_bak.log"
LOGFILE="/home/erico/backup/monitor/all_system_app_check/pro_15/allPro_15_1.txt "
SENDFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log"
SERVER_15="172.20.1.15"
if [ -f $LOGFILE ] && [ ! -z $LOGFILE ]; then

##检查172.20.1.15服务器是否产生包括线程运行情况的文件是否传送到(/home/erico/pro_test/allPro.txt) 21服务器

###检查文件是否存在,文件是否有内容,如果有内容,启动判断15服务器相关应用进程是否运行;如果运行,不会发送
###报警信息,否则发送报警短信到指定手机号码上。

####如果文件不存在,直接发送信息到手机上,说明15产生的文件没有传送到21服务器上,或者在15服务器上没有产生进程
####内容文件。
  echo "file is exits and it is not empty!";
  sh check_pro_and_send_message_15 ;
else
         echo "file is no exits!";
  echo "$MOB_NO,it can't get the pro_file from $SERVER_15!" >>$BACKUPLOGFILE;
  echo "$MOB_NO,it can't get the pro_file from $SERVER_15!" >>$BAK_LOGFILE;
  echo "$MOB_NO,it can't get the pro_file from $SERVER_15!" >>$SENDFILE;

fi

 

check_file_from_16

 

 #!/bin/sh
#
##检查172.20.1.15服务器是否产生包括线程运行情况的文件是否传送到(/home/erico/pro_test/allPro.txt) 21服务器####

BACKUPLOGFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check_bak.log"
BAK_LOGFILE="/home/erico/all_system_app_check_bak.log"
LOGFILE="/home/erico/backup/monitor/all_system_app_check/pro_16/allPro_16.txt "
SENDFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log"
SERVER_16="172.20.1.16"
if [ -f $LOGFILE ] && [ ! -z $LOGFILE ]; then

##检查172.20.1.15服务器是否产生包括线程运行情况的文件是否传送到(/home/erico/pro_test/allPro.txt) 21服务器

###检查文件是否存在,文件是否有内容,如果有内容,启动判断15服务器相关应用进程是否运行;如果运行,不会发送
###报警信息,否则发送报警短信到指定手机号码上。

####如果文件不存在,直接发送信息到手机上,说明15产生的文件没有传送到21服务器上,或者在15服务器上没有产生进程
####内容文件。
  echo "file is exits and it is not empty!";
  sh check_pro_and_send_message_16 ;
else
         echo "file is no exits!";
  echo "$MOB_NO,it can't get the pro_file from $SERVER_16!" >>$BACKUPLOGFILE;
  echo "1$MOB_NO,it can't get the pro_file from $SERVER_16!" >>$BAK_LOGFILE;
  echo "$MOB_NO,it can't get the pro_file from $SERVER_16!" >>$SENDFILE;

fi

 

check_pro_and_send_message_15

 #!/bin/sh
#
# This script. will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style. init stuff.
#if ps aux |grep oracle > /dev/null 2>&1 ; then
########Definition  FOR  15Server ########################################
SERVER_15="172.20.1.15"
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
PRO_1="AnalysisServer.exe"
PRO_2="ConfigServer.exe"
PRO_3="MobileSmsGWR.exe"
PRO_4="SNCPAIServerR.exe"
PRO_5="MobileGWR.exe"
PRO_6="ConfigTerminal.exe"
LOGFILE_15="/home/erico/backup/monitor/all_system_app_check/pro_15/allPro_15_1.txt"

########Definition  FOR  16Server ########################################
SERVER_16="172.20.1.16"
PRO_16_1="smsGatewayR.exe"
PRO_16_2="DBP.exe"
LOGFILE_16="/home/erico/backup/monitor/all_system_app_check/pro_16/allPro_16.txt"

##############Definition  FOR  all ######################################
sendSmsFile="/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log"
BACKUPLOGFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check_bak.log"
BAK_LOGFILE="/home/erico/all_system_app_check_bak.log"
################Definition END###############################################

run_15()
{

echo "          "
echo "#############################CHECK 15 SERVER BEGIN #######################"
echo "          "

###################CHECK 15 SERVER BEGIN ############################################################################

if grep -i -e $PRO_1 $LOGFILE_15 >/dev/null 2>&1 ; then 
 echo "$PRO_1 is exits!";
  
else 

 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$BACKUPLOGFILE ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$BAK_LOGFILE ;


fi
 
if grep -i -e "$PRO_2" $LOGFILE_15 >/dev/null 2>&1; then
 echo "$PRO_2 is exits!";
 
else
 echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date "  >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date " >>$BACKUPLOGFILE ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date " >>$BAK_LOGFILE ;

fi


if grep -i -e "$PRO_3" $LOGFILE_15 >/dev/null 2>&1; then
 echo "$PRO_3 is exits!"

else
 echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_4" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_4 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running!" $date >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_5" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_5 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_6" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_6 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running!" $date >>$sendSmsFile ;
#       echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_6 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_6 is not running! $date " >>$BAK_LOGFILE ;

fi


echo "" >$LOGFILE_15
########################CHECK 15 SERVER END #############################################################

}

run_16()

{

echo "          "
echo "########################CHECK 16 SERVER START ############################"
echo "          "
########################CHECK 16 SERVER START ###############################################

if grep -i -e "$PRO_16_1" $LOGFILE_16 >/dev/null 2>&1; then
        echo "$PRO_16_1 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_16: $PRO_16_1 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_16: $PRO_16_1 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_1 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_1 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_16_2" $LOGFILE_16 >/dev/null 2>&1; then
        echo "$PRO_16_2 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_16: $PRO_16_2 is not running!" $date >>$sendSmsFile ;
#       echo "$MOB_NO,IP:$SERVER_16: $PRO_16_2 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_2 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_2 is not running! $date " >>$BAK_LOGFILE ;

fi


echo "" >$LOGFILE_16

 

 

 

 

######################CHECK 16 SERVER  STOP #############################################################

}

########################run_script##########################################################################

run_15
#run_16

 

check_pro_and_send_message_16

 #!/bin/sh
#
# This script. will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style. init stuff.
#if ps aux |grep oracle > /dev/null 2>&1 ; then
########Definition  FOR  15Server ########################################
SERVER_15="172.20.1.15"
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
PRO_1="AnalysisServer.exe"
PRO_2="ConfigServer.exe"
PRO_3="MobileSmsGWR.exe"
PRO_4="SNCPAIServerR.exe"
PRO_5="MobileGWR.exe"
PRO_6="ConfigTerminal.exe"
LOGFILE_15="/home/erico/backup/monitor/all_system_app_check/pro_15/allPro_15_1.txt"

########Definition  FOR  16Server ########################################
SERVER_16="172.20.1.16"
PRO_16_1="smsGatewayR.exe"
PRO_16_2="DBP.exe"
LOGFILE_16="/home/erico/backup/monitor/all_system_app_check/pro_16/allPro_16.txt"

##############Definition  FOR  all ######################################
sendSmsFile="/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log"
BACKUPLOGFILE="/home/erico/backup/monitor/all_system_app_check/all_system_app_check_bak.log"
BAK_LOGFILE="/home/erico/all_system_app_check_bak.log"
################Definition END###############################################

run_15()
{

echo "          "
echo "#############################CHECK 15 SERVER BEGIN #######################"
echo "          "

###################CHECK 15 SERVER BEGIN ############################################################################

if grep -i -e $PRO_1 $LOGFILE_15 >/dev/null 2>&1 ; then 
 echo "$PRO_1 is exits!";
  
else 

 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$BACKUPLOGFILE ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_1 is not running! $date " >>$BAK_LOGFILE ;


fi
 
if grep -i -e "$PRO_2" $LOGFILE_15 >/dev/null 2>&1; then
 echo "$PRO_2 is exits!";
 
else
 echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date "  >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_2 is not running! $date " >>$BAK_LOGFILE ;

fi


if grep -i -e "$PRO_3" $LOGFILE_15 >/dev/null 2>&1; then
 echo "$PRO_3 is exits!"

else
 echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_3 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_4" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_4 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running!" $date >>$sendSmsFile ;
 echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_4 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_5" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_5 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_6" $LOGFILE_15 >/dev/null 2>&1; then
        echo "$PRO_6 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running!" $date >>$sendSmsFile ;
#       echo "$MOB_NO,IP:$SERVER_15: $PRO_5 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_6 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_6 is not running! $date " >>$BAK_LOGFILE ;

fi


echo "" >$LOGFILE_15
########################CHECK 15 SERVER END #############################################################

}

run_16()

{

echo "          "
echo "########################CHECK 16 SERVER START ############################"
echo "          "
########################CHECK 16 SERVER START ###############################################

if grep -i -e "$PRO_16_1" $LOGFILE_16 >/dev/null 2>&1; then
        echo "$PRO_16_1 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_16: $PRO_16_1 is not running!" $date >>$sendSmsFile ;
# echo "$MOB_NO,IP:$SERVER_16: $PRO_16_1 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_1 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_1 is not running! $date " >>$BAK_LOGFILE ;

fi

if grep -i -e "$PRO_16_2" $LOGFILE_16 >/dev/null 2>&1; then
        echo "$PRO_16_2 is exits!"

else
        echo "$MOB_NO,IP:$SERVER_16: $PRO_16_2 is not running!" $date >>$sendSmsFile ;
#       echo "$MOB_NO,IP:$SERVER_16: $PRO_16_2 is not running! $date " >>$sendSmsFile ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_2 is not running! $date " >>$BACKUPLOGFILE ;
        echo "$MOB_NO,IP:$SERVER_15: $PRO_16_2 is not running! $date " >>$BAK_LOGFILE ;

fi


echo "" >$LOGFILE_16

 

 

 

 

######################CHECK 16 SERVER  STOP #############################################################

}

########################run_script##########################################################################

#run_15
run_16

 

ITS_APP_CHECK

 #!/bin/sh
#


LANG=C
 
#被监控服务器、端口列表
server_all_list=(
172.20.1.25:80
172.20.1.25:7001
172.20.1.25:8080
172.20.1.15
172.20.1.16
#172.20.1.15:7888
#172.20.1.15:8001
#172.20.1.15:7900
)
 
 
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
 
send_msg_to_interface()
{
 if [ $2 = "0" ] || [ $2 = "2" ]; then

###利用移动飞信发短信####

curl "http://sms.api.bz/fetion.php?username=$MOB_NO&password=$MOB_PSW&sendto=$SEND_MOB_NO&$message=$server_ip:$server_port:$date is down!check now!"
 echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log
# echo "$MOB_NO,IP:$server_ip:$server_port 服务异常,请检查!  $date" >>/home/erico/backup/monitor/all_system_app_check/all_system_app_check.log

 fi;
 
}
 
server_all_len=${#server_all_list[*]}
i=0
while  [ $i -lt $server_all_len ]
do
   server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
   server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
   server_message=" "
   if curl -m 10 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
   then
     #status:    0,http down    1,http ok    2,http down but ping ok
     status=1
           echo "服务器${server_ip},端口${server_port}能够正常访问!";
     server_message="服务器${server_ip},端口${server_port}能够正常访问!";
   else
       if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
       then
           status=1
           echo "服务器${server_ip},端口${server_port}能够正常访问!"
     server_message="服务器${server_ip},端口${server_port}能够正常访问!";
       else
           if ping -c 1 $server_ip > /dev/null 2>&1
           then
               status=2
               echo "服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!";
      server_message="服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!";
           else
               status=0
               echo "服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!";
      server_message="服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!";
           fi
       fi
   fi
 send_msg_to_interface "${server_message}" "${status}";
   let i++
done
####
sh /home/erico/check_file_from_15
cat /home/erico/bak_new/monitor/all_system_app_heck.log >/home/erico/bak_new/monitro/all_system_app_check/all_system_app_check.log
rm -rf /home/erico/bak_new/monitor/all_system_app_check.log

 

crontab -e

###5分钟检测一次

 */5 * * * * sh /home/erico/ITS_APP_CHECK

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8404772/viewspace-607142/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-22

  • 博文量
    36
  • 访问量
    100138