DNS实时监控系统的设计与实现
2013-10-24李欣琪
中国教育网络 2013年12期
文/李欣琪
目前,复旦大学共有5台DNS服务器分布于四校区,其中两台作为复旦域名名称服务器(Name Server),同时提供其他域名的递归解析服务。因此,DNS服务直接关系到两方面内容:1.公众访问复旦大学相关站点的质量;2.校园网用户的网络访问质量。DNS的性能指标和统计分析,成为信息化建设的一个关注点。建立一个功能全面完善的DNS监控系统,提供DNS服务关键信息的统计和分析,帮助排查网络故障,进行安全预警,具有重要的意义。
以使用最为广泛的DNS软件ISC BIND为例,对于BIND服务的监控和统计,可以采取执行命令或使用第三方程序如DNSTOP的方式获取BIND进程的CPU、内存和网络等资源消耗情况,并通过编写脚本来统计BIND产生的日志,获取相应的查询记录。但当DNS服务处于高负载的条件下,这种方式无法及时处理迅速增长的日志,同时频繁的日志读取很快会带来I/O上的瓶颈,甚至影响到DNS服务的质量。
因此,本文提出了一种分布式架构的DNS实时监控系统的设计方案,利用流式数据存储和分布式计算实时处理DNS性能数据,改变了传统通过人工排查DNS故障的方式,提高了DNS服务关键信息统计和分析的效率,提升了系统的稳定性和安全性。

图1 DNS运行流程
DNS运行流程与性能指标
根据服务类型,DNS可以分为递归和迭代两种。如图1所示,当用户要访问目标域名时,首先查询本地DNS缓存,如果没有该域名的解析记录,则向本地DNS服务器提交查询请求,由本地DNS服务器代为解析,这一过程称为递归。其中,本地DNS服务器接收到请求后,首先判断本地缓存中是否有该域名解析记录。……
登录APP查看全文
