侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

ubuntu下的tomcat监控脚本

2023-12-23 星期六 / 0 评论 / 0 点赞 / 161 阅读 / 2577 字

前提1、需要服务器中安装sendemail以及mailutils插件,具体操作请转度娘2、需要使用cron添加定时任务,我设置的是每三分钟执行一次*/3 * * * * sh /mnt/we

前提

1、需要服务器中安装sendemail以及mailutils插件,具体操作请转度娘

2、需要使用cron添加定时任务,我设置的是每三分钟执行一次

*/3  *  *  *  *  sh /mnt/web/tomcat/monitor/monitor.sh >/dev/null 2>&1 &

3、执行脚本会出现发送太慢或发送失败的情况,这是因为邮件发送回对发件邮箱的邮箱名服务器进行解析,解决方法:修改 /etc/hosts,将邮箱服务器名映射到127.0.0.1,并重启senmail服务器 service sendmail restart

脚本内容

#!/bin/sh  #. /etc/profile logPath=/mnt/web/tomcat/monitor/log/monitor`date '+%Y-%m-%d'`.log#接收邮箱,多个用英文逗号隔开[email protected] "">>$logPathecho `date '+%Y-%m-%d %H:%M:%S'`>>$logPathpid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`sendMail=0if [  -n "$pid" ]then{   echo "已检测到pid:$pid,继续检测页面。。。">>$logPath #https://xxx.com/favicon.ico为服务器的测试url,可以根据项目随便写,只要不是404的就可以。我这里是指向的一个图标   check=`/usr/bin/wget -S --spider --tries=3 --timeout=10 https://xxx.com/favicon.ico 2>&1 | grep HTTP/1.1|awk '{print $2}'`   echo "页面检测返回状态码:$check">>$logPath   if [ $check -eq 200 ];then        echo "tomcat状态正常">>$logPath   else                sendMail = 1        echo "tomcat状态异常,准备重启。。。">>$logPath        echo "tomcat shutdown">>$logPath        /mnt/web/tomcat/tomcat8/bin/shutdown.sh        sleep 3        pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`        if [ -n "$pid" ]        then         {           sleep 1           echo "kill tomcat:$pid">>$logPath           kill -9 $pid         }        fi        sleep 1        echo "tomcat startup">>$logPath        /mnt/web/tomcat/tomcat8/bin/startup.sh    fi }else        sendMail = 1    echo "未检测到pid,开始重启tomcat...">>$logPath    /mnt/web/tomcat/tomcat8/bin/startup.shfi#发送邮件if [ $sendMail -eq 1  ]then{    echo "开始发送邮件。sendTo:$mails"   #[email protected]就是接收邮件时候显示的发件人    mail -s "Server Monitor Error" $mails < $logPath -A $logPath -a From:[email protected]}fi

广告 广告

评论区