checkHealth.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import requests
  2. import time
  3. import json
  4. requests.packages.urllib3.disable_warnings()
  5. # 当前时间 格式化 方法
  6. def get_current_time():
  7. current_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
  8. return current_time
  9. def check_website():
  10. url = "https://app.yizhizs.cn/api/card-bag/findPublicPage?outTags=&pageNum=1&pageSize=20"
  11. try:
  12. response = requests.get(url, verify=False)
  13. if response.json()['code'] == 200:
  14. print("网站正常运行:" + get_current_time())
  15. else:
  16. print("网站异常,正在重试" + get_current_time())
  17. send_alert()
  18. except requests.exceptions.RequestException as e:
  19. print("网站异常,正在重试" + get_current_time())
  20. send_alert()
  21. def send_alert():
  22. alert_url = "https://www.feishu.cn/flow/api/trigger-webhook/ee26be1f55031f2debd664cbd377a3b8"
  23. payload = {
  24. "title": "首页访问异常",
  25. "content": "首页访问异常"
  26. }
  27. headers = {
  28. "Content-Type": "application/json"
  29. }
  30. try:
  31. response = requests.post(alert_url, headers=headers, data=json.dumps(payload))
  32. if response.status_code == 200:
  33. print("报警发送成功" + get_current_time())
  34. else:
  35. print("报警发送失败" + get_current_time())
  36. except requests.exceptions.RequestException as e:
  37. print("报警发送失败" + get_current_time())
  38. if __name__ == "__main__":
  39. while True:
  40. check_website()
  41. time.sleep(20)