探查Linux系统DNS服务器运行状况 |
发布时间: 2012/8/13 9:39:11 |
在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网络服务访问点地址 本文出自:亿恩科技【www.enkj.com】 |