DNS是分布式数据库,可以让用户们方便访问互联网,而主机的dns服务器也直接影响了我们上网及访问网站的速度,那么你知道如何查看Linux系统中DNS服务器的运行状况吗?

在Linux环境下,也提供了广泛流行的BIND服务器,它是构建DNS服务器最常用的服务器软件。介绍BIND的安装的文章现在很多,现在我们就一起来谈一下维护的话题。我们如何才能够了解DNS服务器的运行情况下呢,它忙不忙、负载大不大?这一切,对于系统管理员而言,是比较重要的。

BIND 8提供了一些控制日志系统的手段,不过呢,缺省状态所生成的日志已经够用了,通过这些日志信息,足以了解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|grep named >/tmp/named.log

注:BIND服务器的进程名是named。

这样,/var/log/message中与BIND相关的日志信息都会写入/tmp/named.log文件中了。最主要的日志有两种:LOG_NOTICE,LOG_INFO级的日志。  一、 LOG_NOTICE级日志

1.每次启动BIND服务器named时,会生成一个如下所示的LOG_NOTICE级日志信息:

Nov 28 10:37:45 www named[10134]: starting. named 8.2.2-P3

其中:

Nov 28 10:37:45 表示服务器启动时间

www 显示DNS服务器所在机器名

named[10134]: 显示DNS服务器进程名与进程ID

starting. 表示正在启动DNS服务器

named 8.2.2-p3 显示BIND软件版本

2.当给DNS服务器发送一个HUP信号,使DNS服务器重启时,会生成一个如下所示的LOG_NOTICE级日志信息:

Nov 28 10:37:45 www named[10134]: reloading nameserver

其中:

Nov 28 10:37:45 表示服务器重启动时间

www 显示DNS服务器所在机器名

named[10134]: 显示DNS服务器进程名与进程ID

reloading. 表示正在重新启动DNS服务器

nameserver 显示正在重启的服务器名

二、LOG_INFO级日志

在DNS服务器运行时,每隔一小时会生成一组如下所示的LOG_INFO级日志信息,反馈DNS服务器的运行状态:

Dec 26 10:23:52 www named[1033]: Cleaned cache of 26 RRset

Dec 26 10:23:52 www named[1033]: USAGE 977797432 976760631 CPU=6.55u/6.24s CHILD CPU=0u/0s

Dec 26 10:23:52 www named[1033]: NSTATS 977797432 976760631 0=2 A=13192

CNAME=321 PTR=11204 MX=1173 TXT=4 AAAA=32 ANY=4956

Dec 26 10:23:52 www named[1033]: XSTATS 977797432 976760631 RR=7629 RNXD=1368

RFwdR=4836 RDupR=51 RFail=159 RFErr=0 RErr=12 RAXFR=0 RLame=175 ROpts=0

SSysQ=2082 SAns=26234 SFwdQ=4520 SDupQ=1263 SErr=0 RQ=30889 RIQ=4 RFwdQ=0

RDupQ=259 RTCP=2 SFwdR=4836 SFail=6 SFErr=0 SNaAns=21753 SNXD=10276  下面我们就逐句解读一下:

1. Dec 26 10:23:52 www named[1033]: Cleaned cache of 26 RRset

这是每一组日志信息的第一行,表示正在清空Cache。

其中:

Dec 26 10:23:52 表示日志生成时间

www 显示DNS服务器所在机器名

named[1033]: 显示DNS服务器进程名与进程ID

Cleaned cache of 26 RRset 表示正在清除cache

2. Dec 26 10:23:52 www named[1033]: USAGE 977797432 976760631 CPU=6.55u

/6.24s CHILD CPU=0u/0s

这一行是USAGE行,用于统计DNS服务器占用的CPU时间。

其中:

Dec 26 10:23:52 表示日志生成时间

www 显示DNS服务器所在机器名

named[1033]: 显示DNS服务器进程名与进程ID

USAGE 行标记

977797432 976760631 977797432-976760631的值就是DNS服务器运行的总秒数

CPU=6.55u/6.24s 代表DNS服务器使用了用户态6.55秒,系统态6.24秒(u代表user,

s代表system),

CHILD CPU 代表DNS服务器子进程的CPU占用情况。

3. Dec 26 10:23:52 www named[1033]: NSTATS 977797432 976760631 0=2 A=13192

CNAME=321 PTR=11204 MX=1173 TXT=4 AAAA=32 ANY=4956

这一行是NSTATS行,用于统计接收到的查询总数

其中:

Dec 26 10:23:52 表示日志生成时间

www 显示DNS服务器所在机器名

named[1033]: 显示DNS服务器进程名与进程ID

NSTATS 行标记

977797432 976760631 977797432-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. Dec 26 10:23:52 www named[1033]: XSTATS 977797432 976760631 RR=7629 RNXD=1368

RFwdR=4836 RDupR=51 RFail=159 RFErr=0 RErr=12 RAXFR=0 RLame=175 ROpts=0 SSysQ=2082

SAns=26234 SFwdQ=4520 SDupQ=1263 SErr=0 RQ=30889 RIQ=4 RFwdQ=0

RDupQ=259 RTCP=2

SFwdR=4836 SFail=6 SFErr=0 SNaAns=21753 SNXD=10276

这是XSTATS行,它用于统计其它一些数据。

其中:

Dec 26 10:23:52 表示日志生成时间

www 显示DNS服务器所在机器名

named[1033]: 显示DNS服务器进程名与进程ID

NSTATS 行标记

977797432 976760631 977797432-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次,可见负载还是比较小的。

如何查看Linux系统中DNS服务器的运行状况?如果我们想查看DNS服务的运行状况我们就可以通过DNS服务器在运行时所产生的日志文件来实现

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点!

本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

linux查询服务器的dns,如何查看Linux系统中DNS服务器的运行状况相关推荐

  1. 基于JAVA服务器监控系统设计,远程数字图像监控系统中web服务器的设计与实现...

    摘要: 数字图像监控系统在目前处于小规模发展阶段,系统的核心是监控服务器.在一些小规模的应用中,监控服务器同时还充当着监控终端的角色.但是,大部分监控系统都没有考虑用户权限.安全性.收费模式等方面的问 ...

  2. Linux系统中DNS域名服务器

    目录 前言 一.DNS作用 1.1为什么需要DNS系统 1.2DNS是什么 1.3DNS使用的协议及端口号 1.4正向解析查询过程 1.5两种查询方式 1.5.1递归查询 1.5.2迭代查询 二.DN ...

  3. 命令查看linux版本,linux基础之教你如何查看linux版本

    linux基础之教你如何查看linux版本 2008-08-28 eNet&Ciweek 如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! 1. 查看内核版本命令: ...

  4. Windows下使用Jconsole远程监控Linux系统中java服务器资源占用情况

    1.首先需要停止正在运行的服务:resin-XXX stop 2.然后在Linux的服务器启动项中添加如下信息: -Djava.rmi.server.hostname=192.168.1.122-Dc ...

  5. 网卡清空缓存命令_怎么清除dns缓存 查看与刷新本地DNS缓存方法 (全文)

    由于近几日百事网更换了cdn加速服务商,导致不少地区朋友无法访问百事网,包括小编电脑也是经常打不开,目前主要可以通过清除dns缓存来解决.一般来说,电脑在第一次访问一个网站后,在一定时间内会有本地DN ...

  6. P7 - Windows系统中DNS服务 之 ipconfig命令

    [软考-软件设计师-历年真题-2012年下半年上午基础知识] 如果DNS服务器更新了某域名的IP地址,造成客户端域名解析故障,在客户端可以用两种方法解决此问题,其中一种是在Windows命令行下执行( ...

  7. 视频监控系统中的平台服务器,视频监控系统中的服务器

    视频监控系统中的服务器 内容精选 换一换 针对于医院的时钟同步系统装置设计范围比较广,在医院内提供一套可靠.经济和有效,能够提供一个统一的北斗时间服务器对医院的数字化管理和医院各部门的统一协调意义重大 ...

  8. 如何查看 OCP 系统中所有证书的有效期

    如何查看 OCP 系统中所有证书的有效期 1. 背景 2. 环境 3. 问题 4. 参考解决方案 1. 背景 工作遇到的类似问题,参考官网进行收集归档,进行笔记形式的记录,便于后续查看. 2. 环境 ...

  9. linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小

    df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Siz ...

最新文章

  1. 数学之美系列 4 -- 怎样度量信息?
  2. webstorm里stylus代码报错_发生甚莫事了?我的程序为啥又报错了!
  3. 1虚拟地址,虚拟内存映射,系统调用本质,进程运行状态
  4. 初学者python笔记(类的继承与多态---详解)
  5. 主板插槽接口相关释义
  6. 随笔 --- 深夜反思、重定向
  7. 13. PHP 表数据入口(table data gateway)
  8. Python学习笔记(6) xml转换为excel
  9. 关于DIPS的MVC 4.0项目发布与在IIS 7.0上的部署的方法
  10. IDEA 如果修改工作区的主题 也就是黑色背景和白色背景
  11. 基于CentOS的 NodeJs 打造 Web 在线聊天室
  12. Laravel中使用GuzzleHttp调用第三方服务的API接口
  13. jqueryCutDown.js结合moment.js倒计时整理,直接copy可用,别忘了引入jquery
  14. matlab毕业答辩会问什么,论文答辩必备:自述模板和注意问题
  15. 周鸿祎产品秘笈:小版本成就大产品
  16. 忙忙碌碌的生活又开始了
  17. 段错误(Segmentation fault)
  18. Centos75启动盘安装系统无法进入图形安装界面-提示dracut-pre-udev[348]:modprobe:ERROR: could not inset ‘edd‘
  19. JS学习笔记17-面向对象编程-原型
  20. 【攻略】前端特工 - 腾讯CodeStar代码星计划

热门文章

  1. 19 | 散列表(中):如何打造一个工业级水平的散列表?
  2. php deprecated,解决php中each函数在7.2版本提示deprecated错误问题
  3. git基础-远程仓库的使用
  4. AlarmManager使用注意事项
  5. grep, egrep, fgrep笔记
  6. vsftpd安装问题汇总(持续更新。。)
  7. 指定查询条件,查询对应的集合List(单表)
  8. java 判断两个数是否异号
  9. 浅析STL allocator
  10. Convert.Int32、(int)和int.Parse三者的区别