python实现DNS域名轮循业务监控

一 说明

大部分的DNS解析都是一个域名对应一个IP地址,但是通过DNS 轮循技术可以做到一个域名对应多个IP,从而实现最简单且高效的负载 平衡,不过此方案最大的弊端是目标主机不可用时无法被自动剔除,因此做好业务主机的服务可用监控至关重要。本案例通过分析当前域名的解析IP,再结合服务端口探测来实现自动监控,在域名解析中添加、删除IP时,无须对监控脚本进行更改。

二 架构图

三 实现

1 步骤

第一步:实现域名的解析,获取域名所有的A记录解析IP列表。

第二步:对IP列表进行HTTP级别的探测。

2 代码

import dns.resolver
import os
import httplib
# 定义域名IP列表变量
iplist=[]
appdomain="www.imooc.com"    #定义业务域名

def get_iplist(domain=""):    #域名解析函数,解析成功IP将追加到iplist
    try:
        A = dns.resolver.query(domain, 'A')    #解析A记录类型
    except Exception,e:
        print ("dns resolver error:"+str(e))
        return
    for i in A.response.ans
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值