tomcat健康状态监控

通过判断test.jsp页面的返回值,来确定tomcat状态

加入到系统任务中2分钟检查一次

执行过程中需执行dos2unix checktom.sh 否则会报错,因为sh文件是在dos下编写的,需转成unix才可以执行。
#vi /usr/local/sbin/checktom.sh

#!/bin/sh
PATH=/data/jdk1.6.0_20/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
JAVA_HOME=/data/jdk1.6.0_20
CLASSPATH=.:/data/jdk1.6.0_20/lib:/data/jdk1.6.0_20/lib/tool.jar:/data/jdk1.6.0_20/lib/dt.jar:
LANG=zh_CN.GB18030
export JAVA_HOME PATH CLASSPATH LANG
test -e "test.jsp" && rm -f test.jsp
test -e "wget-log" && rm -f wget-log
wget -b "http://10.5.211.21/test.jsp" > /dev/null 2>&1
sleep 2
tom=`cat test.jsp`
if
[ -z $tom ]
then
sh /data/tomcat-6.0.16/bin/shutdown.sh
sh /data/tomcat-6.0.16/bin/startup.sh
echo "`date +%d/%m/%Y:%H:%M:%S` - - tomcatserver is down!restart is successful!"
echo " "
echo "-------------------------------------------------------------"
else
echo "`date +%d/%m/%Y:%H:%M:%S` - - tomcatserver is ok!"
echo " "
echo "-------------------------------------------------------------"
exit 0
fi

test.jsp代码

<%out.print("200");%>

#crontab -e

*/2 * * * * /usr/local/sbin/checktom.sh >> /var/log/tomcat.log


自动检测tomcat服务的shell脚本


#!/bin/bash

pnum_server=`ps -wef|grep tomcat |grep -v grep |wc -l`

if test $pnum_server -lt 1

then

/usr/local/tomcat/bin/shutdown.sh

sleep 2s

/usr/local/tomcat/bin/startup.sh

fi


把上面的脚本命名为restartTomcat.sh放到crontab中,设定一个间隔时间,这样tomcat服务即使自己停调也可以检测到并自动重起了

下面是每五分钟检测一次:

*/5 * * * * su - root -c /root/restartTomcat.sh

切记千万不要把脚本放到tomcat的目录下面,不然进程数就会计算错了

要不是我的领导提醒我,我在因为把脚本放到tomcat发布程序的路径下面,导致不能正确执行而郁闷呢,在这里thx一下他了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值