当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 探查Linux系统DNS服务器运行状况

Linux服务器
用Ubuntu做WEB服务器相关设置
使用Linux的rsync命令实现 多服务器镜像同步
Linux环境下Apache与Tomcat共存
Linux下简单的DNS实例一则
linux系统SendMail详细配置
实现Linux操作系统下DNS服务器的搭建
使用nbspNginxnbsp提升网站访问速度
使用awstats分析Nginx的访问日志
Linux网络中DHCP和DNS服务快速整合
Nginx负载均衡搭建胜过Apache十倍
Linux应用 DHCP服务器的安装和故障排除
ubuntu一步架设ftp服务器图文讲解
DHCP概述及Linux DHCP服务器的配置
Linux集群技术中的热点---虚拟技术
Linux操作系统的防火墙配置:基础篇
Linux DHCP服务器的配置
4步用XAMPP快速搭建LAMP环境
简略讲解对 Linux 服务器的四种入侵级别
浅谈Linux优化及安全配置的个人体会
解读Linux文件权限的设置方法

Linux服务器 中的 探查Linux系统DNS服务器运行状况


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 110 ::
收藏到网摘: n/a

在Linux环境下,也提供了广泛流行的BIND服务器,它是构建DNS服务器最常用的服务器软件。介绍BIND的安装的文章现在很多,现在我们就一起来谈一下维护的话题。我们如何才能够了解DNS服务器的运行情况下呢,它忙不忙、负载大不大?这一切,对于系统管理员而言,是比较重要的。
 
想了解DNS服务器的运行状况,可以通过查看DNS服务器在运行时所产生的日志文件来实现。
 
BIND8提供了一些控制日志系统的手段,不过呢,缺省状态所生成的日志已经够用了,通过这些日志信息,足以了解DNS服务器现在的运行状况了。
 
缺省情况下,BIND是通过syslog来生成日志的,存放在/var/log/message文件中。
 
  注:与之相关的还有以下四个文件:
 
/var/log/message.1
 
/var/log/message.2
 
/var/log/message.3
 
/var/log/message.4
 
其实是将日志分为了5个文件来存储,防止文件过大,当message文件够大后,就变成了message.1,原来的message.1就成了message.2……,message.4的内容就消失了。
 
由于这个文件中的日志信息是syslog生成的,所以不并是全都是关于BIND的日志信息。我们执行以下命令,将所有BIND的日志信息挑选出来:
 
more/var/log/message grepnamed>/tmp/named.log
 
注:BIND服务器的进程名是named.
 
这样,/var/log/message中与BIND相关的日志信息都会写入/tmp/named.log文件中了。最主要的日志有两种:LOG_NOTICE,LOG_INFO级的日志。
 
一、LOG_NOTICE级日志
 
1.每次启动BIND服务器named时,会生成一个如下所示的LOG_NOTICE级日志信息:
 
Nov2810:37:45wwwnamed[10134]:starting.named8.2.2-P3
 
其中:
 
Nov2810:37:45表示服务器启动时间
 
www显示DNS服务器所在机器名
 
named[10134]:显示DNS服务器进程名与进程ID
 
starting.表示正在启动DNS服务器
 
named8.2.2-p3显示BIND软件版本
 
2.当给DNS服务器发送一个HUP信号,使DNS服务器重启时,会生成一个如下所示的LOG_NOTICE级日志信息:
 
Nov2810:37:45wwwnamed[10134]:reloadingnameserver
 
其中:
 
Nov2810:37:45表示服务器重启动时间
 
www显示DNS服务器所在机器名
 
named[10134]:显示DNS服务器进程名与进程ID
 
reloading.表示正在重新启动DNS服务器
 
nameserver显示正在重启的服务器名
 
二、LOG_INFO级日志
 
在DNS服务器运行时,每隔一小时会生成一组如下所示的LOG_INFO级日志信息,反馈DNS服务器的运行状态:
 
Dec2610:23:52wwwnamed[1033]:Cleanedcacheof26RRset
 
Dec2610:23:52wwwnamed[1033]:USAGE977797432976760631CPU=6.55u/6.24sCHILDCPU=0u/0s
 
Dec2610:23:52wwwnamed[1033]:NSTATS9777974329767606310=2A=13192
 
CNAME=321PTR=11204MX=1173TXT=4AAAA=32ANY=4956
 
Dec2610:23:52wwwnamed[1033]:XSTATS977797432976760631RR=7629RNXD=1368
 
RFwdR=4836RDupR=51RFail=159RFErr=0RErr=12RAXFR=0RLame=175ROpts=0
 
SSysQ=2082SAns=26234SFwdQ=4520SDupQ=1263SErr=0RQ=30889RIQ=4RFwdQ=0
 
RDupQ=259RTCP=2SFwdR=4836SFail=6SFErr=0SNaAns=21753SNXD=10276
 
下面我们就逐句解读一下:
 
1.Dec2610:23:52wwwnamed[1033]:Cleanedcacheof26RRset
 
这是每一组日志信息的第一行,表示正在清空Cache.
 
其中:
 
Dec2610:23:52表示日志生成时间
 
www显示DNS服务器所在机器名
 
named[1033]:显示DNS服务器进程名与进程ID
 
Cleanedcacheof26RRset表示正在清除cache
 
2.Dec2610:23:52wwwnamed[1033]:USAGE977797432976760631CPU=6.55u
 
/6.24sCHILDCPU=0u/0s
 
这一行是USAGE行,用于统计DNS服务器占用的CPU时间。
 
其中:
 
Dec2610:23:52表示日志生成时间
 
www显示DNS服务器所在机器名
 
named[1033]:显示DNS服务器进程名与进程ID
 
USAGE行标记
 
977797432976760631977797432-976760631的值就是DNS服务器运行的总秒数
 
CPU=6.55u/6.24s代表DNS服务器使用了用户态6.55秒,系统态6.24秒(u代表user,
 
s代表system),
 
CHILDCPU代表DNS服务器子进程的CPU占用情况。

 
3.Dec2610:23:52wwwnamed[1033]:NSTATS9777974329767606310=2A=13192
 
CNAME=321PTR=11204MX=1173TXT=4AAAA=32ANY=4956
 
这一行是NSTATS行,用于统计接收到的查询总数其中:
 
Dec2610:23:52表示日志生成时间
 
www显示DNS服务器所在机器名
 
named[1033]:显示DNS服务器进程名与进程ID
 
NSTATS行标记
 
977797432976760631977797432-976760631的值就是DNS服务器运行的总秒数
 
0=2代表未知类型的DNS查询2个
 
A=13192代表A类地址查询13192个(最标准)
 
CNAME=321代表CNAME类地址查询321个(一般是有些版本的sendmail使用CNAME程序
 
规范化邮件地址而发出的,还有就是dig或nslookup发出的)
 
PTR=11204代表指针查询11204个(许多软件通过这种方法来查找IP地址)
 
MX=1173代表邮件交换器的查询1173个(是由邮件发送程序发起的)
 
TXT=4代表应用程序进行的文本查询共有4个
 
AAAA=32代表AAAA类查询32个
 
ANY=4956有些Sendmail使用的地址查询方式,共4956个
 
注:还有可能有:
 
NS=xx代表名字服务器查询(例如:名字服务器试图查找根域的服务器)
 
SOA=xx代表辅助DNS更新
 
HINFO=xx主机信息查询
 
NSAP=xx将域名映射成OSI网络服务访问点地址
 
AXFR=xx辅助DNS的区传送
 
这些在本例中并未出现。
 
4.Dec2610:23:52wwwnamed[1033]:XSTATS977797432976760631RR=7629RNXD=1368
 
RFwdR=4836RDupR=51RFail=159RFErr=0RErr=12RAXFR=0RLame=175ROpts=0SSysQ=2082
 
SAns=26234SFwdQ=4520SDupQ=1263SErr=0RQ=30889RIQ=4RFwdQ=0
 
RDupQ=259RTCP=2
 
SFwdR=4836SFail=6SFErr=0SNaAns=21753SNXD=10276
 
这是XSTATS行,它用于统计其它一些数据。其中:
 
Dec2610:23:52表示日志生成时间
 
www显示DNS服务器所在机器名
 
named[1033]:显示DNS服务器进程名与进程ID
 
NSTATS行标记
 
977797432976760631977797432-976760631的值就是DNS服务器运行的总秒数
 
RR=7629代表收到其它主机的响应共有7629个(DNS向其它机器或进程发出的查询得到的响应数、与RQ无关)
 
RNXD=1368代表收到“没有这样的域”回答共有1368个
 
RFwdR=108收到对原始查询的响应为108个
 
RDupR=51重复响应51个(当DNS在它悬而未决的查询列表中,找不到引起该响应的原始查询时,这个响应就是重复响应)
 
RFail=159收到SERVFAIL(远程服务器错误)159个
 
RFErr=0没有收到FORMERR(远程名字服务器认为本地名字服务器的查询有格式错误)
 
Rerr=12收到除了SERVFAIL、FORMERR以外的错误12个
 
RAXFR=0共有0次区传送
 
RLame=175收到175个坏授权(意味着有的区被授权给其它名字服务器,而这个名字服务器不是这个区的权威)
 
ROpts=0共收到带有IP选项的包的个数为0
 
SSysQ=2082共发出系统查询2082个(系统查询是由本地名字服务器进行的查询。大多数都是针对根名字服务器的)
 
SAns=26234共回答了查询26234个
 
SFwdQ=4520不在这个名字服务器,而转发共4520个
 
SDupQ=1263重复查询数1263个
 
SErr=0发出的非SERVFAIL、FORMERR的错误总数
 
RQ=30889收到的查询共有30889个
 
RIQ=4收到反向查询4个(反向查询是为了将地址映射为名字,现在这个功能被PTR实现了。较早的nslookup才使用这种查询)
 
RFwdQ=0没有需要进一步处理的查询
 
RDupQ=259重复查询共有259个
 
RTCP=2通过TCP连接收到2个查询(一般使用UDP)
 
SFwdR=4836来自其它名字服务器转发的响应4836个
 
SFail=6发出被认为SERVFAIL响应共6个
 
SFErr=0发出的被认为FORMERR的响应个数
 
SNaAns=21753非权威回答共21753
 
SNXD=10276发出没有这个域回答10276个
 
这些统计数据都是从DNS开启后到现在的总统计,而非本小时内的统计数字。如何衡量DNS服务器的负载呢?很简单,将总查询数除以DNS运行的总时间,不就知道了吗?在本例中:DNS服务器已运行了:977797432-976760631=1036801秒=288小时
 
注:从第2、3、4行都可以得到
 
而总查询请求有:2+13192+321+11204+1173+4+32+4956=20884次
 
注:从第2行都可以得到,也就是每小时107次查询请求,每秒不到2次,可见负载还是比较小的。
 

上一页[1][2]