import requests
import os
import subprocess
import json
os.environ['PATH'] = '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'
prometheus_url = "http://192.168.10.109:9090/api/v1/query?"
query = 'probe_http_status_code{instance="https://192.168.0.121:8888/management/common/captcha/init"}'
response = requests.get(prometheus_url, params={'query': query})
if response.status_code == 200:
    data = response.json()
    status_code = data['data']['result'][0]['value'][1]
    if status_code != "200":
        result1 = "开始提取日志信息"
        cmd1 = 'ansible node1 -m shell -a "tail -30 /data/java/8888/nohup.out"'
        result2 = os.popen(cmd1).read().strip()
        cmd2 = 'ansible node1 -m shell -a "tail -30 /data/mysql/mysql/error.log"'
        result3 = os.popen(cmd2).read().strip()
        cmd3 = 'ansible node1 -m shell -a "docker logs --tail 30 8888-3.0.30.3"'
        result4 = os.popen(cmd3).read().strip()
        result_dict = {
            "121业务故障": result1,
            "8888日志": result2,
            "mysql日志": result3,
            "docker日志": result4
        }
        msg1 = json.dumps(result_dict, ensure_ascii=False)
        subprocess.call(['/usr/bin/python3', '/data/backupscript/sendMessageQiyeweixin.py', msg1])

query1 = 'probe_http_status_code{instance="https://192.168.0.122:8888/management/common/captcha/init"}'
response = requests.get(prometheus_url, params={'query': query1})
if response.status_code == 200:
    data = response.json()
    status_code = data['data']['result'][0]['value'][1]
    if status_code != "200":
        result5 = "开始提取日志信息"
        cmd4 = 'ansible node2 -m shell -a "tail -30 /data/java/8888/nohup.out"'
        result6 = os.popen(cmd4).read().strip()
        cmd5 = 'ansible node2 -m shell -a "tail -30 /data/mysql/mysql/error.log"'
        result7 = os.popen(cmd5).read().strip()
        cmd6 = 'ansible node2 -m shell -a "docker logs --tail 30 8888-3.0.30.3"'
        result8 = os.popen(cmd6).read().strip()
        result_dict = {
            "122业务故障": result5,
            "8888日志": result6,
            "mysql日志": result7,
            "docker日志": result8
        }
        msg2 = json.dumps(result_dict, ensure_ascii=False)
        subprocess.call(['/usr/bin/python3', '/data/backupscript/sendMessageQiyeweixin.py', msg2])

query2 = 'probe_http_status_code{instance="https://192.168.0.123:8888/management/common/captcha/init"}'
response = requests.get(prometheus_url, params={'query': query2})
if response.status_code == 200:
    data = response.json()
    status_code = data['data']['result'][0]['value'][1]
    if status_code != "200":
        result9 = "开始提取日志信息"
        cmd7 = 'ansible node3 -m shell -a "tail -30 /data/java/8888/nohup.out"'
        result10 = os.popen(cmd7).read().strip()
        cmd8 = 'ansible node3 -m shell -a "tail -30 /data/mysql/mysql/error.log"'
        result11 = os.popen(cmd8).read().strip()
        cmd9 = 'ansible node3 -m shell -a "docker logs --tail 30 8888-3.0.30.3"'
        result12 = os.popen(cmd9).read().strip()
        result_dict = {
            "123业务故障": result9,
            "8888日志": result10,
            "mysql日志": result11,
            "docker日志": result12
        }
        msg3 = json.dumps(result_dict, ensure_ascii=False)
        subprocess.call(['/usr/bin/python3', '/data/backupscript/sendMessageQiyeweixin.py', msg3])
