2019年01月22日博客https开启

通过curl检查网站的响应时间来判断是否重启应用

Linux liujingzhong 123℃ 0评论

写在前面

最近公司有一个项目偶尔(无规律可循)会出现响应时间过长导致应用宕机的情况。由于公司开发资源紧张。一时间研发没有时间处理该问题。所以想着通过判断应用的响应时间来重启应用

具体脚本如下

#!/bin/bash
#通过curl获取应用响应时间
time_total=`curl -o /dev/null -s -w '%{time_connect}:%{time_starttransfer}:%{time_total}\n' 'www.baidu.com' | awk -F ':' '{print $3}'` 
#获取应用项目进程ID
tomcatpid=`ps -ef | grep apache-tomcat-6.0.35 | grep -v grep | grep -v /usr/local/sbin/cronolog | awk '{print $2}'`
echo "time_total应用响应时间为:$time_total"
echo "tomcat项目进程ID为:$tomcatpid"
#设置最大响应时间
time_total_maximum=5.00
c=$(echo "$time_total > $time_total_maximum" | bc)
#判断响应时间
#然后做判断1为真0为假
if [ $c -eq 1 ]
then
#echo 'time_total大于time_total_maximum'
echo "响应时间大于5"
echo "执行重启Tomcat操作"
#杀进程
kill -9 $tomcatpid
sleep 3
echo "$tomcatpid已杀死..."
echo "重启tomcat..."
/XXXX/XXXX/XXXX/bin/startup.sh #Tomcat启动路径
else
echo 'time_total小于等于time_total_maximum'
echo "响应时间正常"
fi

脚本编入定时任务

#每三十分钟执行一次
*/30 * * * * /XXX/sh/tomcat-check-restart.sh >> /XXX/sh/tomcat-check-restart.log 2>&1

写在后面

当然此非长久之计。还是需要通过代码分析定位具体问题。然后彻底解决掉!

打赏作者

转载请注明:指尖流逝的年华 » 通过curl检查网站的响应时间来判断是否重启应用

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址