DNS域名轮循业务监控

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'' '
                 192.168.0.1
--> www.xxx.com 192.168.0.2
                 192.168.0.3
获取业务域名A记录,查询出所有IP地址列表,在使用httplib模块的request()方法
以get方式请求监控页面,监控业务所有服务IP是否服务正常
'' '
#!/usr/bin/env python
import dns.resolver
import os
import http.client
import socket
iplist=[] #定义ip列表变量
appdomain= "51cto.com"  #定义业务域名(例)
def get_iplist(domain= "" ): #域名解析函数,解析成功后IP将追加到iplist
     try :
         A=dns.resolver.query(domain, 'A' )
     except Exception  as  e:
         print ( "dns resolver error:" +str(e))
         return
     for  i in A.response.answer:
         for  j in i.items:
             iplist.append(j.address)
     return  True
def checkip(ip):
     checkurl=ip +  ":80"
     getcontent= ""
     #socket.setdefaulttimeout(5) #使用socet模块定义超时时间为5秒
     http.client.socket.setdefaulttimeout(5)
     conn=http.client.HTTPConnection(checkurl) #创建http链接对象
     try :
         conn.request( "GET" , "/" ,headers={ "HOST" :appdomain}) #发起URL请求,添加host主机t头
         r=conn.getresponse()
         getcontent=r.read(15) #获取URL页面前1个字符,以便可用性校验
     finally:
         if  getcontent== "<!doctype html>" : #监控URL页的内容一般事先定义好的,比如“HTTP200”等
             print (ip+ "[Ok]" )
         else :
             print (ip+ "[ERROR]" ) #此处可放置警告程序,可以是邮件,可以是短信
if  __name__== "__main__" :
     if  get_iplist(appdomain)  and  len(iplist) > 0 : #条件:域名解析正确至少返回一个IP
         for  ip in iplist:
             checkip(ip)
     else :
         print ( "DNS resolver error." )









本文转自 SoulMio 51CTO博客,原文链接:http://blog.51cto.com/bovin/1881256,如需转载请自行联系原作者
目录
相关文章
|
27天前
|
存储 缓存 负载均衡
阿里云DNS常见问题之域名DNS跳转有问题如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
27天前
|
域名解析 弹性计算 网络协议
阿里云DNS常见问题之确认域名是否在Private zone解析失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
27天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之新购域名阿里云DNS无法解析如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
27天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之DNS域名一直连不上如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
2月前
|
域名解析 网络协议 数据安全/隐私保护
DNS解析问题之授权RAM子账号管理指定域名如何解决
DNS解析是指将人类可读的域名转换成机器可读的IP地址的过程,它是互联网访问中不可或缺的一环;本合集将介绍DNS解析的机制、类型和相关问题的解决策略,以确保域名解析的准确性和高效性。
231 1
|
3月前
|
JSON 安全 Serverless
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数【1月更文挑战第23天】【1月更文挑战第112篇】
223 7
|
1月前
|
安全
欢迎和阿里云一起使用国家顶级域名!
中国国家顶级域名包括“.CN”和“.中国”域名,已经成为我国政府、机构、企事业单位以及重大赛事活动的主用域名
158 0
|
2月前
|
移动开发 API
阿里云cn域名续费优惠口令
2024阿里云cn域名续费优惠口令“cn注册多个价格更优”,cn域名注册优惠口令“互联网上的中国标识”
569 0
|
2月前
|
移动开发 API
阿里云com域名续费优惠口令“com批量注册更享优惠”
阿里云com域名续费优惠口令“com批量注册更享优惠”
|
2月前
|
移动开发 API
阿里云域名注册购买优惠口令,2024新版优惠口令
阿里云域名注册购买优惠口令,2024新版优惠口令,阿里云cn域名注册优惠口令“cn注册多个价格更优”
193 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多