加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell 定时5分钟一次监控Tomcat状态,自动重启

发布时间:2020-12-15 16:38:16 所属栏目:安全 来源:网络整理
导读:公司测试服里有很多个tomcat,我参与的项目的那台tomcat,一天会挂上好几次。 监控系统一直发邮件,觉得实在烦,就写了个监控tomcat的脚本放上去跑。等过两天有空了再去研究tomcat挂掉的原因。 先贴上Shell代码: [plain] view plain copy #!/bin/sh #functi

公司测试服里有很多个tomcat,我参与的项目的那台tomcat,一天会挂上好几次。

监控系统一直发邮件,觉得实在烦,就写了个监控tomcat的脚本放上去跑。等过两天有空了再去研究tomcat挂掉的原因。

先贴上Shell代码:

[plain] view plain copy
  1. #!/bin/sh
  2. #function:自动监控tomcat进程,挂了就执行重启操作
  3. #author:huanghong
  4. #DEFINE
  5. #获取tomcatPPID
  6. TomcatID=$(ps-ef|greptomcat|grep-w'tomcat_cardniu_stat'|grep-v'grep'|awk'{print$2}')
  7. #tomcat_startup
  8. StartTomcat=/usr/local/tomcat-6.0.41/tomcat_cardniu_stat/bin/startup.sh
  9. #TomcatCache=/usr/apache-tomcat-5.5.23/work
  10. #定义要监控的页面地址
  11. WebUrl=http://test.cardniu.com/stat-cardniu/login
  12. #日志输出
  13. GetPageInfo=/dev/null
  14. TomcatMonitorLog=/tmp/TomcatMonitor.log
  15. Monitor()
  16. {
  17. echo"[info]开始监控tomcat...[$(date+'%F%H:%M:%S')]"
  18. if[$TomcatID];then
  19. echo"[info]tomcat进程ID为:$TomcatID."
  20. #获取返回状态码
  21. TomcatServiceCode=$(curl-s-o$GetPageInfo-m10--connect-timeout10$WebUrl-w%{http_code})
  22. if[$TomcatServiceCode-eq200];then
  23. echo"[info]返回码为$TomcatServiceCode,tomcat启动成功,页面正常."
  24. else
  25. echo"[error]访问出错,状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
  26. echo"[error]开始重启tomcat"
  27. kill-9$TomcatID#杀掉原tomcat进程
  28. sleep3
  29. #rm-rf$TomcatCache#清理tomcat缓存
  30. $StartTomcat
  31. fi
  32. echo"[error]进程不存在!tomcat自动重启..."
  33. echo"[info]$StartTomcat,请稍候......"
  34. #rm-rf$TomcatCache
  35. echo"------------------------------"
  36. }
  37. Monitor>>$TomcatMonitorLog

通过ps -ef 及 grep 命令定位到对应项目的tomcat,获取到进程ID。

GetPageInfo = /dev/null,无底洞,不输出。

先判断进程是否存在,不存在则重启,存在则进入状态判断,获取访问请求页的responseCode,不等于200的话也进行重启。

保存shell 名字为monitor.sh


然后在终端输入

copy
    crontab-e

在打开的脚本页输入:

copy
    */5****/usr/local/tomcat-6.0.41/tomcat_cardniu_stat/monitor.sh
5分钟进行一次监控。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读