#!/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 {} \;

tomcat健康检查监控脚本的更多相关文章

  1. tomcat错误日志监控脚本

    #!/usr/bin/env python #-*-coding:utf-8-*- #CreateDate:2017/04/14 #Author:Eivll0m #ScriptName:monitor ...

  2. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

    服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export ...

  3. Spring Boot Actuator:健康检查、审计、统计和监控(转)

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  4. 通过脚本实现对web的健康检查

    前面的文章中(https://www.cnblogs.com/zyxnhr/p/10707932.html),通过nginx的第三方模块实现对web端的一个监控,现在通过一个脚本实现对第三方的监控 脚 ...

  5. Spring Boot Actuator:健康检查、审计、统计和监控

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  6. web站点监控脚本web_status_code,tomcat 80,oracle1521

    1,完整的监控脚本如下 #!/bin/bash #web_status_code=`curl -o /dev/null -s -w "http_code:%{http_code}" ...

  7. Oracle SQL 调优健康检查脚本

    Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...

  8. Script:SQL调优健康检查脚本

    Script:SQL调优健康检查脚本 http://www.askmaclean.com/archives/sql-tuning-health-check-script.html 以下脚本可以用于收集 ...

  9. SpringBoot之旅 -- SpringBoot 项目健康检查与监控

    前言 You build it,You run it, 当我们编写的项目上线后,为了能第一时间知晓该项目是否出现问题,常常对项目进行健康检查及一些指标进行监控. Spring Boot-Actuato ...

随机推荐

  1. 声明父类new子类

    基本概念 这个实例是子类的,但是因为你声明时是用父类声明的,所以你用正常的办法访问不到子类自己的成员,只能访问到从父类继承来的成员. 在子类中用override重写父类中用virtual申明的虚方法时 ...

  2. 卸载Myeclipse10.5 报错“an error has occured.See the log file ...Uninstaller\...”

    找到Myeclipse的安装包,双击它,会出现Uninstaller的按钮,单击卸载即可. 另,网上说,windows下cmd命令道myeclipse.exe 目录,然后执行myeclipse.exe ...

  3. putty之pscp上传文件

    控制台下打开pscp可执行文件 命令 >pscp -i 证书名 -r 要上传的文件 root@服务器路径:/opt

  4. SuperMap空间数据处理与制图操作短视频汇总

    转自:http://blog.csdn.net/supermapsupport/article/details/70227669 空间数据处理与制图是GIS系统建设最基础的部分,这里利用超图桌面软件- ...

  5. IE和Chrome执行javascript对鼠标双击事件的不同响应

    最近在用天地图API帮同学做点开发的工作,主要是基于天地图的API实现违法用地举报的在线地图标绘,要实现的效果如下: 由于是基于天地图API的TPolygonTool工具实现面积量测和多边形绘制功能, ...

  6. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  7. off by null 实战

    前言 off by null 是一个比较有意思的技术 下面通过 hctf2018 的 heapstrom_zero 实战一波. 相关文件(exp, 题目)位于 https://gitee.com/ha ...

  8. 11.1、socket连接中的粘包、精确传输问题

    粘包: 发生原因: 当调用send的时候,数据并不是即时发给客户端的.而是放到了系统的socket发送缓冲区里,等缓冲区满了.或者数据等待超时了,数据才会发送,所以有时候发送太快的话,前一份数据还没有 ...

  9. linux 开机自启动脚本

    在/etc/rc.local文件中添加自启动命令(其中一种方法) 1.案例,就用博主本人之前发的博文 “nginx + flask + uwsgi + centos + python3 搭建web项目 ...

  10. [20170927]hugepages与内核参数nr_overcommit_hugepages.txt

    [20170927]hugepages与内核参数nr_overcommit_hugepages.txt /proc/sys/vm/nr_overcommit_hugepages specifies h ...