利用curl对tomcat假死进行实时监控

由于之前一段时间遇到tomcat假死的情况,在网上查找可用geode来达到session共享的问题,鉴于需要geode做缓存库涉及到开发等文件的更新及更改,目前的解决办法进行监控。

遇到过的同学,应该很清楚,tomcat假死以后,用ps 命令和查看端口号都没问题,然而网站就是挂的,这样zabbix,nagios,openfalcon等监控无法报警,最后想到了办法,就是定时的去curl网站的情况,能第一时间进行解决。

写了一个发邮件的脚本如下,仅供大家参考:
#vim project_listen-2.sh

#!/bin/bash
# define url
export LANG=zh_CN.UTF8  
CURRENT_DATE="`date +%Y-%m-%d`"
TEMPFILEPATH=/home/ServiceCheck

# check url
cat $TEMPFILEPATH/urls.txt | while read url
do
    ALIVE=$(curl -o /dev/null -s -w %{http_code} ${url})
    if [ "$ALIVE" != "200" ]; then
            echo "'${url}' 网站无法访问,请检查" | mail -s "网站tomcat服务监控 ${url}" [email protected],[email protected],[email protected]
    else
        echo "网站tomcat服务监控  tomcat服务监控'${url}' is OK !"
    fi
done

1.2 将需要访问的网站写入以下txt文件中

 # vim    /home/ServiceCheck/urls.txt
 http://www.baidu.com       
 https://www.google.cn

1.3 写入计划任务
(每两分钟执行一次)

 #crontab -e
*/2  * * * *  /home/project_listen-2.sh

注: 1,添加邮箱的时候,尽量写公司的个人邮箱,或者foxmail等,QQ邮箱有限制,会收不到短信
2,需要设置nginx的配置,关停项目后,访问网站无静态页面

猜你喜欢

转载自blog.csdn.net/weixin_43949342/article/details/86592058
今日推荐