博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat健康检查监控脚本
阅读量:6828 次
发布时间:2019-06-26

本文共 1473 字,大约阅读时间需要 4 分钟。

#!/bin/sh

#自动监控tomcat脚本并且执行重启操作
#获取tomcat_ID
TomcatID=`ps -ef|grep tomcat|grep -v "grep"|grep -v "monitor_tomcat"|awk '{print $2}'`
Tomcatbag=`ls /usr/local/apache-tomcat-7.0.42/webapps -t |head -1`
#tomcat启动程序
  StartTomcat=/home/deployer/scripts/monitor_restart.sh
  TomcatCache=/usr/local/apache-tomcat-7.0.42/work/
# 定义要监控的页面地址
  #积分 WebUrl=http://127.0.0.1:8080/integral/health/check
  WebUrl=http://127.0.0.1:8080/$Tomcatbag/healthCheck/verify
# 日志输出
  GetPageInfo=/home/deployer/scripts/monitor_logs/error_$(date +'%F').log
  TomcatMonitorLog=/home/deployer/scripts/monitor_logs/TomcatMonitor_$(date +'%F').log
Monitor()
    {
      echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
      if [[ $TomcatID ]];then
        echo "[info]当前tomcat进程ID为:$TomcatID,检测页面..."
        TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 30 $WebUrl -w %{http_code})
        echo $TomcatServiceCode
        if [ $TomcatServiceCode -eq 200 ];then
            echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"
        else
            echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
            echo "[error]页面访问出错,开始重启tomcat"
            kill -9 $TomcatID
            sleep 3
            rm -rf $TomcatCache
            $StartTomcat
        fi
      else
        echo "[error]tomcat进程不存在!tomcat开始自动重启..."
        echo "[info]$StartTomcat,请稍候......"
        rm -rf $TomcatCache
        $StartTomcat
      fi
      echo "------------------------------"
   }
Monitor>>$TomcatMonitorLog
cd /home/deployer/scripts/monitor_logs
find . -maxdepth 2 -mtime +5 -name "*.log" -exec rm -rf {} \;

转载于:https://www.cnblogs.com/franjia/p/6856510.html

你可能感兴趣的文章
ios实例开发精品文章推荐(7.23)
查看>>
php编译错误Note that the MySQL client library is not bundled anymore或者cannot find mysql header file...
查看>>
Myeclipse--jBPM4.3插件
查看>>
[每日一题] 11gOCP 1z0-053 :2013-10-12 RESULT_CACHE在哪个池?.............................44
查看>>
Unity物理系统的触发器
查看>>
mysql慢查询日志相关参数
查看>>
项目中如果管理前端文件CSS和JS
查看>>
13 jsp include
查看>>
Nginx和PHP-FPM的启动、重启、停止脚本分享(转)
查看>>
如何拷贝CMD命令行文本到粘贴板
查看>>
Oracle数据库—— 存储过程与函数的创建
查看>>
兼容iOS 10 资料整理笔记
查看>>
逻辑回归原理小结
查看>>
php 7.0 安装以及老版本php删除
查看>>
【Machine Learning】决策树案例:基于python的商品购买能力预测系统
查看>>
【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-5 底层驱动之旋转编码器
查看>>
[Erlang]Erlang经常使用工具解说
查看>>
PHP:第五章——字符串编码函数
查看>>
What the difference between __weak and __block reference?
查看>>
【Linux 驱动】Netfilter/iptables (八) Netfilter的NAT机制
查看>>