linux下tomcat监控脚本

#定义要监控的页面地址
WebUrl=localhost:8080
# 日志输出
GetPageInfo=/tmp/TomcatMonitor.Info
TomcatMonitorLog=/tmp/TomcatMonitor.log


#获取tomcat进程
TomcatID=$(ps -ef |grep tomcat |grep -v grep | awk '{print $2}')
TomcatServiceCode=`curl -o /dev/null -s -w "%{http_code}" "${WebUrl}"`
#发送邮件地址
email_address=********@qq.com
#当前服务器ip
IP=$(ifconfig -a|awk '/(cast)/ {print $2}'|cut -d':' -f2|head -1)


# tomcat启动程序(tomcat实际安装的路径)
StartTomcat=/home/******/j-tomcat/bin/startup.sh
#tomcat的缓存
TomcatCache=/home/******/j-tomcat/work


echo tomcat_ID:"$TomcatID"
echo TomcatStatus:"$TomcatServiceCode"
Monitor()
{
 echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
   # 这里判断TOMCAT进程是否存在
  if [ $TomcatID ] ; then  
   echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."
   # 检测是否启动成功(成功的话页面会返回状态"200")
if [ $TomcatServiceCode -eq 200 ] ; then
        echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"
else
        echo "[error]tomcat页面出错,状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
        echo "[error]页面访问出错,开始重启tomcat"
echo "[error]发送告警开启邮件"  
        #echo "$IP的访问系统接口出错,$IP的tomcat开始自动重启 [$(date +'%F %H:%M:%S')]" | mail -s "魔售项目告警开启" $email_address
        # kill -9 $TomcatID  # 杀掉原tomcat进程
        # sleep 3
        # rm -rf $TomcatCache # 清理tomcat缓存
        $StartTomcat
fi
    else
    echo "[error]tomcat进程不存在!tomcat开始自动重启..."
    echo "[info]$StartTomcat,请稍候......"
    echo "[error]发送告警开启邮件"  
    #echo "由于$IP的tomcat进程不存在 tomcat开始自动重启 [$(date +'%F %H:%M:%S')]" | mail -s "项目告警开启" $email_address
    rm -rf $TomcatCache
    $StartTomcat 
  fi
 echo "------------------------------"
}
Monitor>>$TomcatMonitorLog

猜你喜欢

转载自blog.csdn.net/hzy_java/article/details/80511922
今日推荐