heartbeat 是如何监控mysql__自动监控tomcat+mysql+heartbeat的脚本

该脚本的作用是检测到tomat+mysql+heartbeat服务出现问题的是自动处理并且报警

#!/bin/bash

path=/usr/local/nagios/libexec/

logfile=/var/log/moniter.log

date=`(date +%D--%T)`

hostname=localhost

sleeptime=30

tomcatmessege="the tomcat server down but it up now"

mysqlmessege="the mysql server  down  but it up now"

tomcat_restart_succeed=/usr/local/iSpaceServer/tomcat/context/tomcat_restart_succeed

mysql_restart_succeed=/usr/local/iSpaceServer/tomcat/context/mysql_restart_succeed

heartbeat_restart_failed=/usr/local/iSpaceServer/tomcat/context/heartbeat_restart_failed

tomcat_restart_failed=/usr/local/iSpaceServer/tomcat/context/tomcat_restart_failed

mysql_restart_failed=/usr/local/iSpaceServer/tomcat/context/mysql_restart_failed

email="qubq@qian-gao.com"

q=refused

level=1000

sqlcode=500

echo "the tomcat server down but it up now">/usr/local/iSpaceServer/tomcat/context/tomcat_restart_succeed

echo "the mysql server down but it up now">/usr/local/iSpaceServer/tomcat/context/mysql_restart_succeed

echo "the tomcat server restart failed!">/usr/local/iSpaceServer/tomcat/context/tomcat_restart_failed

echo "the mysql  server restart failed!">/usr/local/iSpaceServer/tomcat/context/mysql_restart_failed

echo "the heartbeat server restart failed!">/usr/local/iSpaceServer/tomcat/context/heartbeat_restart_failed

result=`(ps -eo pid,tty,user,comm,stime,etime | more |grep java|sed 's/://g'| awk '{print $6}' |sed -e 's/://g' -e 's/-//g')`

valuse=`($path/check_http  -w 5 -c 10  -H localhost |awk '{print $4}')`

f=`($path/check_http  -w 5 -c 10  -H localhost |awk '/refused/'|awk  '{print $2}')`

if [ $valuse != 200 ]

then

if  [ "$f" = "$q" ]

then

service heartbeat stop

killall -9 java

/etc/init.d/iSpaceServer start

sleep $sleeptime

a=`($path/check_http  -w 5 -c 10  -H localhost |awk '{print $4}')`

if [ $a == 200  ]

then

echo "==============>$date<=====================">>$logfile

echo $tomcatmessege>>$logfile

mail -s "tomcat_restart_succeed!" $email

sleep $sleeptime

service heartbeat start

sleep $sleeptime

netstat -an |grep udp |grep 694

if [ $? == 0 ]

then

echo "complete!">>$logfile

else

mail -s "heartbeat_restart_failed!" $email

fi

else

mail -s "tomcat_restart_failed!" $email <$tomcat_restart_failed

fi

elif  (( "10#$result" > "$level" ))

then

service heartbeat stop

killall -9 java

/etc/init.d/iSpaceServer start

sleep $sleeptime

b=`($path/check_http  -w 5 -c 10  -H localhost |awk '{print $4}')`

if [ $b == 200  ]

then

echo "==============>$date<=====================">>$logfile

echo $tomcatmessege>>$logfile

mail -s "tomcat_restart_succeed!" $email

sleep $sleeptime

service heartbeat start

sleep $sleeptime

netstat -an |grep udp |grep 694

if [ $? == 0 ]

then

echo "complete!">>$logfile

else

mail -s "heartbeat_restart_failed!" $email

fi

else

mail -s "tomcat_restart_failed!" $email <$tomcat_restart_failed

fi

elif   [[ $sqlcode == $valuse ]]

then

service heartbeat stop

killall -9 mysqld

/etc/init.d/mysqld start

sleep $sleeptime

c=`($path/check_http  -w 5 -c 10  -H localhost |awk '{print $4}')`

if [ $c == 200 ]

then

echo "==============>$date<=====================">>$logfile

echo $mysqlmessege>>$logfile

mail -s "mysql_restart_succeed!" $email

sleep $sleeptime

service heartbeat start

sleep $sleeptime

netstat -an |grep udp |grep 694

if [ $? == 0 ]

then

echo "complete!">>$logfile

else

mail -s "heartbeat_restart_failed!" $email <$heartbeat_restart_failed

fi

else

mail -s "mysql_restart_failed!" $email <$mysql_restart_failed

fi

fi

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值