DNS域名轮循业务监控

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析DNS,个人版 1个月
简介:
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,如需转载请自行联系原作者
目录
相关文章
|
25天前
|
存储 JSON 监控
Elasticsearch索引监控全面解析
Elasticsearch索引监控全面解析
16 0
|
2月前
|
缓存 网络协议 安全
【计算巢】DNS 解析过程详解:域名如何转换为 IP 地址
【5月更文挑战第31天】DNS(域名系统)将人类可读的域名转换为IP地址,涉及本地DNS缓存、层次化DNS服务器系统,包括根DNS、顶级域名DNS和权威DNS。当查询域名时,通过DNS服务器间的交互找到对应IP并返回给浏览器。Python示例展示了DNS查询过程。尽管DNS面临安全挑战,如欺骗和缓存中毒,采取安全措施可确保其稳定性和安全性。它是互联网的重要基础,连接域名与IP,支持便捷的网络访问。
|
1月前
|
消息中间件 监控 Java
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控
本文由北京宝兰德公司解决方案总监徐清康撰写,探讨了Kafka和AutoMQ集群的监控。
180 2
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控
|
20天前
|
域名解析 Web App开发 缓存
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
|
22天前
|
域名解析 存储 网络协议
了解域名解析:解析记录类型详解
了解域名解析:解析记录类型详解
51 2
|
27天前
|
域名解析 缓存 网络协议
域名解析后清除dns缓存
域名解析后清除dns缓存
26 4
|
1月前
|
域名解析 缓存 网络协议
DNS域名原理介绍
DNS域名原理介绍
35 4
|
1月前
|
域名解析 Docker 容器
使用docker+ddns 实现动态域名解析
使用docker+ddns 实现动态域名解析
166 7
|
1月前
|
运维 网络协议 JavaScript
Serverless 应用引擎产品使用合集之绑定自定义域名是否要确定解析设置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
27天前
|
域名解析 网络协议 程序员
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
30 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多