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

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

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

目 录CONTENT

文章目录

根据url判断tomcat假死,并重启,pyhton

2023-12-18 星期一 / 0 评论 / 0 点赞 / 123 阅读 / 2127 字

最近发现测试环境tomcat假死现象,测试环境扩容可能性又不大就写了个脚本用来监控tomcat是否假死。如果假死的话则重启。主要是根据url判断,判断返回值是不是200,设置了超时时间为10秒。如果要

    最近发现测试环境tomcat假死现象,测试环境扩容可能性又不大就写了个脚本用来监控tomcat是否假死。如果假死的话则重启。主要是根据url判断,判断返回值是不是200,设置了超时时间为10秒。如果要用该脚本,把启动tomcat脚本路径和测试url改一下即可,还是比较强壮的。

#!/usr/bin/python# coding=utf-8import osimport urllibimport commandsimport timeimport socket# 定义时间变量date_now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))# 定义启动脚本路径StartTomcat = "/home/apps/tomcat/bin/startup.sh"# 定义测试URLWebUrl = "http://127.0.0.1:8080/kafka/"# 获取进程ID,里面多了个grep -V check_tomcat,是因为脚本名里面有tomcat关键字,会多检测出一个进程出来,要排除掉。process_id = commands.getoutput("ps -ef|grep tomcat |grep -v check_tomcat|grep -v grep|awk '{print $2}'")# 设置URL超时时间socket.setdefaulttimeout(5)def tart_tomcat(pid):  # 定义重启方法    pid = int(pid)    try:        print date_now, "reboot-tomcat:"        os.kill(pid, 9)        time.sleep(5)        print "开始执行startup.sh"        os.system(StartTomcat)    except IOError, e:        print edef check_tomcat():  # 定义检查tomcat方法    print "----------------------------"    print date_now, "开始检查 tomcat..."    if process_id:  # 如果存在进程ID则往下执行        print "进程已存在,检测url是否能访问..."            #判断是否返回200,另外有可能有其他报错,所以这里用try来写,防止有别的错误。            try:            response_code = urllib.urlopen(WebUrl).getcode()            if response_code == 200:                print "URL访问正常无需重启tomcat..."            else:                restart_tomcat(process_id)        except IOError:            restart_tomcat(process_id)    else:        print "进程不存在,开始执行startup.sh"        os.system(StartTomcat)check_tomcat()

 

广告 广告

评论区