shell脚本监控tomcat服务运行状态,服务关闭后进行重启
2017-11-01 22:29
1586 查看
最近在维护一个项目的时候,发现经常有tomcat运行一段时间后自动停掉的情况,影响了正常的生产交易,被逼无奈,在未找到tomcat自动关闭原因之前,还是得靠shell脚本来进行实时监控。如果发现tomcat没有运行,则执行startup.sh启动tomcat,以下贴出脚本源码。
脚本说明:
1.recorddir=/mnt/monitor_logs是存放该监控脚本产生的日志的文件夹,使用时候需要指定,但不需要手动创建(脚本中会自动创建);
2.tomcaturl=/mnt/jiaofu/tomcat/bin是tomcat的bin目录的路径,需要根据实际情况进行配置;
3.usefor=normal,这里设置了一个配置项,当进行服务器升级的时候,需要将usefor设置为upgrade,以避免脚本重启服务器
脚本写完了,接下来就是进行脚本的安装了:
1.首先将脚本上传到服务器相应位置,如/home/shell路径下;
2.添加linux计划任务:
1)crontab -e,在里边加入:
/5 * * * sh /home/shell/monitor_tomcat.sh 让该脚本每5分钟执行一次
2)重启crond服务使之生效:
service crond restart
3)查看已添加的计划任务,确保本次添加成功:
crontab -l ,如果可以看到刚才添加的那段话,则证明添加成功。
至此,一个简单监控tomcat运行状态的脚本就完成了,通过查看该脚本每5分钟产生的日志monitor.xxxx_xx_xx.log,可以看到tomcat一个时间段内是否正常,是否重启过,是否进行了升级操作。
此外,该脚本稍加修改(修改进程名称和启动方式),既可以实现linux下对其他进程的监控功能。
#!bin/sh date=`date +%Y-%m-%d_%H:%M:%S` ##tomcat的进程数,由于脚本名称为monitor_tomcat.sh,所以排除了对monitor_tomcat的搜索 count=`ps -ef|grep tomcat|grep -v "grep"|grep -v "monitor_tomcat"|wc -l` ##监控脚本日志存放路径 recorddir=/mnt/monitor_logs ##监控脚本日志文件名称 recordfile=monitor.`date +%Y-%m-%d`.log ##tomcat启动文件所在路径 tomcaturl=/mnt/jiaofu/tomcat/bin ##normal--正常运行;upgrade--升级 usefor=normal if [ ! -d ${recorddir} ] ; then mkdir -p ${recorddir} fi if [ "${usefor}" == "normal" ] ; then if [ ${count} -gt 0 ] ; then echo "${date},tomcat服务运行正常!">>${recorddir}/${recordfile} else sh ${tomcaturl}/startup.sh echo "${date},重启了tomcat服务!">>${recorddir}/${recordfile} fi elif [ "${usefor}" == "upgrade" ] ; then echo "${date},系统升级,不需要重新启动tomcat服务!">>${recorddir}/${recordfile} else echo "${date},参数配置异常,请检查usefor参数!">>${recorddir}/${recordfile} fi
脚本说明:
1.recorddir=/mnt/monitor_logs是存放该监控脚本产生的日志的文件夹,使用时候需要指定,但不需要手动创建(脚本中会自动创建);
2.tomcaturl=/mnt/jiaofu/tomcat/bin是tomcat的bin目录的路径,需要根据实际情况进行配置;
3.usefor=normal,这里设置了一个配置项,当进行服务器升级的时候,需要将usefor设置为upgrade,以避免脚本重启服务器
脚本写完了,接下来就是进行脚本的安装了:
1.首先将脚本上传到服务器相应位置,如/home/shell路径下;
2.添加linux计划任务:
1)crontab -e,在里边加入:
/5 * * * sh /home/shell/monitor_tomcat.sh 让该脚本每5分钟执行一次
2)重启crond服务使之生效:
service crond restart
3)查看已添加的计划任务,确保本次添加成功:
crontab -l ,如果可以看到刚才添加的那段话,则证明添加成功。
至此,一个简单监控tomcat运行状态的脚本就完成了,通过查看该脚本每5分钟产生的日志monitor.xxxx_xx_xx.log,可以看到tomcat一个时间段内是否正常,是否重启过,是否进行了升级操作。
此外,该脚本稍加修改(修改进程名称和启动方式),既可以实现linux下对其他进程的监控功能。
相关文章推荐
- 写一个脚本用来监控服务的运行状态并能够重启服务
- 检测tomcat运行状态,自动重启TOMCAT脚本SHELL
- 自动监控apache服务状态并重启的shell脚本
- Linux之shell脚本系列 ----- 服务启动/关闭/重启/状态
- 监控tomcat服务,服务异常时自动重启shell脚本
- Linux下使用shell脚本自动监控重启tomcat
- shell脚本:定时重启tomcat服务
- linux-shell脚本,监控nginx,tomcat,redis,php-cli,磁盘状态
- 使用shell脚本监控网站运行状态
- shell自动监控重启Tomcat脚本
- shell自动监控重启tomcat脚本
- Shell脚本实现监控iptables运行状态
- SHELL脚本实现服务宕机监控自动重启
- linux脚本(shell)之tomcat服务定时重启任务
- 监控php-fpm并自动重启服务的shell脚本
- 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享
- 【shell脚本】监控服务进程状态
- shell自动监控重启Tomcat脚本
- 通过shell脚本监控tomcat运行情况