一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解Python實現URL監測與即時推送

詳解Python實現URL監測與即時推送

2022-03-02 00:24董式小爬蟲 Python

這篇文章主要為大家介紹了Python實現URL監測與即時推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

原理

采用Python requests發起請求監測的URL,檢測Http響應狀態及是否超時,如果Http狀態異常或響應超時,則通過聚合云推的消息推送API將預警消息發送至郵箱、釘釘機器人、企業微信機器人、微信公眾號等,服務端通過crontab定時(每分鐘)執行代碼,實現動態監測功能。

環境

操作系統: CentOS 7.x

Python版本: 3.6

消息推送服務: tui.juhe.cn

代碼

  1. #!/usr/bin/python3
  2. import requests
  3. import time
  4. import json
  5.  
  6. # 監測URL是否正常響應
  7. def url_check(url):
  8. # 當前時間
  9. check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  10. print("開始監測:%s -- %s" % (url, check_time))
  11. try:
  12. # 請求URL, 設置3s超時
  13. r = requests.get(url, timeout=3)
  14. if r.status_code != 200:
  15. # 請求響應狀態異常
  16. msg = "監控的URL:%s%sHttp狀態異常:%s%s監測時間:%s" % (url, "\n\n", r.status_code, "\n\n", check_time)
  17. print("監測結果:異常(Http狀態異常:%s) -- %s" % (r.status_code, check_time))
  18. # 通過云推推送消息
  19. yuntui_push(msg)
  20. else:
  21. # 請求響應正常
  22. print("監測結果:正常 -- %s" % check_time)
  23. except requests.exceptions.ConnectTimeout:
  24. # 請求響應超時
  25. msg = "監控的URL:%s%s請求異常:%s%s監測時間:%s" % (url, "\n\n", "請求超時", "\n\n", check_time)
  26. print("監測結果:超時 -- %s" % check_time)
  27. # 通過云推推送消息
  28. yuntui_push(msg)
  29.  
  30. # 將預警消息通過云推推送
  31. def yuntui_push(content):
  32. # 當前時間
  33. push_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  34. # 云推接口的信息配置,可以通過 https://tui.juhe.cn 自行注冊創建
  35. # (可以配置郵件、釘釘機器人、微信公眾號等接收方式)
  36. token = "*****************"
  37. service_id = "******"
  38. title = "URL可用性監控預警"
  39. doc_type = "markdown"
  40. body = {"token": token, "service_id": service_id, "title": title, "content": content, "doc_type": doc_type}
  41. try:
  42. r = requests.post("https://tui.juhe.cn/api/plus/pushApi", data=body, timeout=15)
  43. push_res = json.loads(r.content)
  44. code = push_res['code']
  45. if code == 200:
  46. print("推送結果:成功 -- %s" % push_time)
  47. else:
  48. print("推送結果:失敗(%s) -- %s" % (push_res['reason'], push_time))
  49. except requests.exceptions.ConnectTimeout:
  50. print("推送結果:超時 -- %s" % push_time)
  51.  
  52. # 執行URL可用性監測
  53. if __name__ == '__main__':
  54. # 監控URL可用性
  55. # url_check("https://www.test.com")
  56. url_check("https://www.baidu.com/")

如果requests未安裝可以執行以下命令安裝

  1. pip3 install requests

crontab計劃任務配置

命令行輸入crontab -e進入計劃任務配置

  1. # 每分鐘執行一次
  2. */1 * * * * /usr/bin/python3 /data/check_url/main.py >> /data/log.txt

查看日志

  1. cat /data/log.txt
  1. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:04:01
  2. 監測結果:正常 -- 2021-11-16 15:04:01
  3. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:05:02
  4. 監測結果:正常 -- 2021-11-16 15:05:02
  5. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:06:01
  6. 監測結果:正常 -- 2021-11-16 15:06:01
  7. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:07:01
  8. 監測結果:正常 -- 2021-11-16 15:07:01
  9. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:08:01
  10. 監測結果:正常 -- 2021-11-16 15:08:01
  11. 開始監測:https://www.test.com -- 2021-11-16 15:11:01
  12. 監測結果:超時 -- 2021-11-16 15:11:01
  13. 推送結果:成功 -- 2021-11-16 15:11:04
  14. 開始監測:https://www.test.com -- 2021-11-16 15:12:01
  15. 監測結果:超時 -- 2021-11-16 15:12:01
  16. 推送結果:成功 -- 2021-11-16 15:12:04

預警消息效果

如果監測到異常結果,你在云推配置的接收終端將會收到通知,類似如下:

釘釘群機器人:

詳解Python實現URL監測與即時推送

郵件:

詳解Python實現URL監測與即時推送

微信公眾號:

詳解Python實現URL監測與即時推送

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/chasiona/article/details/121362182

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频一区网站 | 国产成人yy精品1024在线 | 成人久久网站 | 天天天综合网 | 亚洲成人mv | 菠萝视频5正版在线观看 | 国产精品久久免费 | 午夜性色一区二区三区不卡视频 | 奇米影视小说 | 日韩美一区二区三区 | 无码任你躁久久久久久久 | 边摸边吃奶又黄激烈视频韩国 | 国产精品欧美韩国日本久久 | 色综七七久久成人影 | 亚洲AV福利天堂一区二区三 | 亚洲国产精品无码中文字满 | 丰腴尤物贵妇浪荡小说 | 忘忧草研究院一二三 | 激情三级做爰在线观看激情 | 国产精品免费综合一区视频 | 国内精品在线观看视频 | 日日摸日日碰夜夜爽97纠 | 色播影院性播影院私人影院 | 福利视频导航大全 | 好爽视频 | 草莓视频网站18勿进 | 精品国产成人高清在线 | 免费观看www视频 | 国产一区在线免费观看 | 新版孕妇bbwbbwbbw | 99久久精品国产片久人 | 午夜精品久久久久久 | 国产一区二区免费视频 | 男同激情视频 | 色老妈 | 深夜成人 | 80日本xxxxxxxxx96 7个黑人玩北条麻妃 | 欧美男同猛男 videos 同性 | 校园情射 | 亚洲国产无线码在线观看 | 国产伦码精品一区二区三区 |