监控jboos并且出现问题自动重启服务
2010-04-08 17:56
253 查看
#!/bin/bash
path=/usr/local/nagios/libexec
#####定义脚本存放的绝对路径##########
logfile=/var/log/jboosmoniter.log
########定义日志文件名和存放的绝对路径###############
date=`(date +%D--%T)`
##########定义时间格式#############
ps -eo pid,tty,user,comm,stime,etime | more |grep java|sed 's/://g'>$path/pid.txt
##############得出jboos进程运行的信息并且输出到文件pid.txt中###############
result=`( awk '/master/ {print $6}' $path/pid.txt |sed -e 's/://g' -e 's/-//g')`
################得出jboos进程运行的时间并且赋值给result变量##############
$path/check_http -H www.quaboquan.com -p 8080 -u /registration/index.jsp >$path/a.txt
##############向 www.qubaoquan.com 发起HTTP连接并且把得到的状态信息输出到a.txt##########
a=`(awk '{print $4}' $path/a.txt)`
###########得出http连接的状态值并且输出给变量a##################
echo $a >$path/states.txt
################把变量a的值输出给states.txt#################################
valuse=`(cat $path/states.txt)`
##############变量values存的就是http连接的状态值#########################
awk '/refused/ {print $2}' $path/a.txt>$path/b.txt
##########该语句判断的是当服务已死的时候的状态值,赋值给b.txt####################
f=`(cat $path/b.txt)`
#####变量f为状态值######
q=refused
#######变量q是判断服务是否死掉的标准#######
level=1000
################变量level是区分服务正在重启与服务器内存溢出的标准#################
if [ $valuse != 200 ]
#########判断http连接状态是否正常##########
then
if (( "10#$result" > "$level" ))
##########区分服务正在重启与内存溢出的状态#################
then
killall -9 java;/etc/init.d/jboss start;echo "the jboos server have reboot on $date">>$logfile
################重启服务并且记录日志###########################
fi
fi
if [ "$f" = "$q" ]
##############判断是否符合服务已死的条件##########
then
killall -9 java;/etc/init.d/jboss start;echo "the jboos server have dead but it start on $date">>$logfile
################重启服务并且记录日志###########################
fi
path=/usr/local/nagios/libexec
#####定义脚本存放的绝对路径##########
logfile=/var/log/jboosmoniter.log
########定义日志文件名和存放的绝对路径###############
date=`(date +%D--%T)`
##########定义时间格式#############
ps -eo pid,tty,user,comm,stime,etime | more |grep java|sed 's/://g'>$path/pid.txt
##############得出jboos进程运行的信息并且输出到文件pid.txt中###############
result=`( awk '/master/ {print $6}' $path/pid.txt |sed -e 's/://g' -e 's/-//g')`
################得出jboos进程运行的时间并且赋值给result变量##############
$path/check_http -H www.quaboquan.com -p 8080 -u /registration/index.jsp >$path/a.txt
##############向 www.qubaoquan.com 发起HTTP连接并且把得到的状态信息输出到a.txt##########
a=`(awk '{print $4}' $path/a.txt)`
###########得出http连接的状态值并且输出给变量a##################
echo $a >$path/states.txt
################把变量a的值输出给states.txt#################################
valuse=`(cat $path/states.txt)`
##############变量values存的就是http连接的状态值#########################
awk '/refused/ {print $2}' $path/a.txt>$path/b.txt
##########该语句判断的是当服务已死的时候的状态值,赋值给b.txt####################
f=`(cat $path/b.txt)`
#####变量f为状态值######
q=refused
#######变量q是判断服务是否死掉的标准#######
level=1000
################变量level是区分服务正在重启与服务器内存溢出的标准#################
if [ $valuse != 200 ]
#########判断http连接状态是否正常##########
then
if (( "10#$result" > "$level" ))
##########区分服务正在重启与内存溢出的状态#################
then
killall -9 java;/etc/init.d/jboss start;echo "the jboos server have reboot on $date">>$logfile
################重启服务并且记录日志###########################
fi
fi
if [ "$f" = "$q" ]
##############判断是否符合服务已死的条件##########
then
killall -9 java;/etc/init.d/jboss start;echo "the jboos server have dead but it start on $date">>$logfile
################重启服务并且记录日志###########################
fi
相关文章推荐
- [置顶] linux系统tomcat应为被定时任务脚本监控自动部署,服务器重启导致同一个tomcat出现很多进程,kill -9杀死又出现等一系列问题解决。
- [转]监控windows服务,当服务停止后自动重启服务
- 监控tomcat服务,服务异常时自动重启shell脚本
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- iis6应用程序池被自动禁用问题 Service Unavailable 应用程序池 'DefaultAppPool' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
- 客户机容易随机出现自动重启、游戏卡问题?不妨优化下BIOS中节能技术!
- Android的服务(Service)(二)Service的自动重启问题
- 监控WINDOWS服务,当服务停止后自动重启服务
- 监控windows服务,当服务停止后自动重启服务
- 自动监控apache服务状态并重启的shell脚本
- [置顶] 如何解决eclipse中修改后台代码ctrl+s时总是自动重启服务的问题
- apache服务监控脚本-----自动重启apache
- monit 监控并自动重启服务
- windows使用vbs脚本监控tomcat,自动重启服务
- 如何为一个服务进程创建监控,即使出core也能自动重启
- Apache httpd进程监控,自动重启httpd服务shell
- 解决:先安装豌豆荚,卸载之后,在win7的dos下 adb devices 会重启服务,并且不显示设备的问题
- nagios监控远程主机服务可能出现的问题
- 重启rsyslog服务时出现问题(误删/var/log/messages解决方案)