前端为NGINX后端多个tomcat负载均衡,WEB为https,且也打开http 用NGINX自带模块无法检测出后端故障。
定时执行脚本:
#!/bin/bash
#删除上次脚本生成文件
rm -f /tmp/1.txt
#检测网页状态,并记录状态码到文件。在后台运行此条命令。
curl -o /dev/null -s -w %{http_code} 127.0.0.1:7101/html/time.html > /tmp/1.txt &
sleep 1s
#超过1s,还未得到状态码(说明网页延迟过大可能出现内存溢出等故障)随即杀掉检测进程。
ps -ef |grep curl|grep -v grep|cut -c 9-15|xargs kill -9 >/dev/null 2>&1
code=`cat /tmp/1.txt`
if [ $code -eq 200 ]
then
echo "` date +%Y%m%d%H%M%S `状态正常"
else
echo "` date +%Y%m%d%H%M%S `超时"
#状态码不是200随即杀死程序。
ps -ef |grep 7101|grep -v grep|cut -c 9-15|xargs kill -9 >/dev/null 2>&1
fi
阅读(1053) | 评论(0) | 转发(0) |