小豆浆 域名轮循业务监控-改版(urllib2、dns.resolver) www.xdoujiang.com

  • A+
所属分类:python实战
  1. 域名轮循业务监控-改版(urllib2、dns.resolver)
  2. #!/usr/bin/python
  3. # -*- coding: utf-8 -*-
  4. #--------------------------------------------------
  5. #Author:gongzheng
  6. #Email:85646830@163.com
  7. #FileName:3.py
  8. #Function: 
  9. #Version:1.0 
  10. #Created:2017-12-25
  11. #--------------------------------------------------
  12. #此脚本原来用的是httplib我改成urllib2了
  13. import dns.resolver
  14. import urllib2
  15. iplist = []
  16. #appdomain = "www.fulihui.com"
  17. appdomain = "ceshi.xdoujiang.com"
  18. #通过域名获得A记录IP地址
  19. def get_iplist(domain=""):
  20.     try:
  21.         A = dns.resolver.query(domain,"A")
  22.     except Exception as e:
  23.         print("dns resolver error:" + str(e))
  24.         return
  25.     for i in A.response.answer:
  26.         for j in i.items:
  27.             iplist.append(j.address)
  28.     return True
  29. def checkip(ip):
  30.     checkurl = 'http://' + ip + ":80"
  31.     req = urllib2.Request(checkurl)
  32.     try:
  33.         response = urllib2.urlopen(req)
  34.     #捕获2个异常
  35.     except urllib2.HTTPError,e:
  36.     print checkurl
  37.         print 'Error Code:',e.code
  38.         print 'Reason:',e.reason
  39.     except urllib2.URLError,e:
  40.     print checkurl
  41.         print 'Reason:',e.reason
  42.     #这里是最后返回信息
  43.     else:
  44.         getcode = response.getcode()
  45.         if getcode == 200:
  46.            print(ip+"[OK]")
  47.         else:
  48.            print(ip+"[Error]")
  49. if __name__ == "__main__":
  50.     if get_iplist(appdomain) and len(iplist) > 0:
  51.         for ip in iplist:
  52.             checkip(ip)
  53. 分别在4.73和4.77上启动着nginx 80端口的
  54. root@192.168.4.73:scripts# python 3.py
  55. 192.168.4.73[OK]
  56. 192.168.4.77[OK]
  57. 4.77关掉了 能捕获到4.77的异常
  58. root@192.168.4.73:scripts# python 3.py
    http://192.168.4.77:80
    Reason: [Errno 111] Connection refused
    192.168.4.73[OK]
  59. 还有个dnspod A记录设置图
  60. 小豆浆 域名轮循业务监控-改版(urllib2、dns.resolver) www.xdoujiang.com
  61. 小豆浆 域名轮循业务监控-改版(urllib2、dns.resolver) www.xdoujiang.com
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: