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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

landscape 1

1. 创建出landscape的分层材质2. 把材质添加给landscape后,可以在landscape的画刷模式下看到3. 通过点击右侧的加号,依次添加layer后,就可以使用他们进行地形的绘制。 通过右键菜单可以快速填充和清除对应的layer4. 用下面的方法修改材质的法…

linux进程和线程教程,Linux下查看进程和线程

在Linux中查看线程数的三种方法1、top -H手册中说:-H : Threads toggle加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。2、ps xH手册中说:H Show threads as if they were processes这样可以查看所有存在的线…

ORA-12154: TNS: 无法解析指定的连接标识符

相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方…

任务管理器启动资源管理器

今天远程桌面登录windows服务器竟然发现没有Windows Explorer(资源管理器)了!桌面啥的都没有,只有几个孤零零的命令行窗口。。。 输入ctrlaltend启动远程桌面的任务管理器,选择File->run new task 输入explorer.exe…

linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?

我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样.% file a.outa.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linu…

oracle 11g exp 报错 EXP-00056;ORA-12154;EXP-00000;

在Oracle学习过程中,使用exp导出数据,使用如下命令:[plain] view plaincopyexp username/passworddatabase_name filed:\filename.dmp buffer1048000 tables(tablename) query\"where key in (value1)\"; 出现错误提示&#xff1…

mysql设置

设置mysql不区分大小写 http://blog.163.com/pursue100yeah/blog/static/165732158201101641221182/ 在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names1,重启MYSQL服务,这时已设置成功:不区分表名的大小写; 转载于:ht…

双网卡绑定linux7.2,CentOS 7.2 bond实现网卡聚合链路(双网卡绑定)脚本及验证(适合云平台)...

使用bond实现网卡聚合链路脚本:#!/bin/bash#创建一个名为bond0的链路接口IP192.168.101.1GATE192.168.101.254ETH1eno1ETH2eno2ETH3eno3ETH4eno4modprobebondingcat</etc/sysconfig/network-scripts/ifcfg-bond0DEVICEbond0TYPEBondNAMEbond0BONDING_MASTERyesBOOTPROTOstat…

Oracle的Net Configuration Assistant 配置

在进行团队开发的时候&#xff0c;一般团队的每一个人只需要安装一个客户端即可&#xff0c;没有必要安装一个Oracle 数据库服务器&#xff0c;而数据库服务器是属于共享的&#xff0c;此时&#xff0c;我们就需要配置客户端。客户端的配置可以有以下两种方式&#xff1a;第一种…

windows下hadoop的单机伪分布式部署(3)

下面介绍myeclipse与hadoop的集成。 我用的myeclipse版本是8.5. 1、安装hadoop开发插件 在hadoop1.2.1版本的安装包contrib/目录下&#xff0c;已经不再提供hadoop-eclipse-pligin-1.2.1.jar; 而是提供了源代码文件&#xff0c;需要我们自行重新编译成jar包文件&#xff1b;这里…

linux修改grub权限,linux下肿么修改grub.cfg

一、grub2的启动配置文件grub.cfggrub2的启动配置文件grub.cfg是/boot/grub/grub.cfg&#xff0c;而不是以前的memu.lst。如果你是多系统&#xff0c;有Ubuntu和windows&#xff0c;那么用下面的命令&#xff0c;可以使grub2得到所以可以启动的系统。sudo update-grub实际就是让…

使用DBCA创建数据库

&#xff08;1&#xff09;选择“开始”—>“程序”—>Oracle-Oracle10g_home1—>配置和移植工具—>Database Configuration Assistant命令&#xff0c;启动DBCA&#xff0c;出现“欢迎使用”窗口&#xff0c;如图1&#xff1a;图1 &#xff08;2&#xff09;单击“…

TCL 中upvar 用法 (摘自http://www.cnblogs.com/kane1990/archive/2011/12/19/2293981.html)

可以用 upvar 命令模拟传引用调用的行为&#xff0c;这对数组特别有用。如果a是一个数组&#xff0c;就不能像myproc $a这样把它传给过程myproc&#xff0c;因为并没有 对应整个数组的值&#xff1b;只有对应各个数组元素的值。 但是可以把数组名传给过程&#xff0c;myproc a&…

linux-2.6.32.2内核在mini2440上的移植,Linux2.6.32.2移植到Mini2440

1.移植内核的准备工作(1)使用的环境操作系统&#xff1a;Fedora 10交叉编译工具使用&#xff1a;arm-linux-gcc-4.3.2(2)获取内核有很多方式可以获取 Linux 内核源代码,如果你的 Fedora10 平台可以上互联网,可以直接在命令行输入以下命令获取到最原汁原味的 Linux-2.6.32.2:#wg…

SliceProceduralMesh的使用

1. 构建一个actor&#xff0c;里面添加一个被切割的static mesh&#xff0c;比如一个立方体&#xff0c;再添加一个proceduralmesh。 然后在构造函数里面添加下面代码&#xff0c;将static mesh拷贝到proceduralmesh里。 另外将static mesh的hidden in game属性加上&#xff0c…

asp.net读取xml方法

这个适合刚学asp.net的同学&#xff0c;大神直接略过好了&#xff0c;asp.net经常会有很多用到XML的地方&#xff0c;比如全国省市的联动&#xff0c;以及一些菜单读取等等都有xml的影子&#xff0c;直接贴代码&#xff0c;以便我以后用到的时候忘了&#xff0c;注释我写得很清…

linux parallel 命令,Linux 并行处理神器 GNU Parallel 简明教程

Bash命令通常单线程运行&#xff0c;这意味着所有的处理工作只在单个 CPU 上执行。随着 CPU 规模的扩大以及核心数目的增加&#xff0c;这意味着只有一小部分的 CPU 资源用于处理任务&#xff0c;这样就造成了很大的资源浪费。 这种情况在进行多媒体转换(比如&#xff1a;图片和…

Sublime Text 2 VS Vim

说说我的开发工具Sublime Text 2和对Vim的研究 设置Sublime为VIM模式 Sublime Text 2 入门及技巧 sublime text2 使用技巧心得总结转载于:https://www.cnblogs.com/pengyou8696/p/3937089.html

Air Data System

总压 静压 动压 静压 飞机静止不动的气压 动压 飞机运动时气流对飞机产生的压力 空速管测量出来的速度并非是飞机真正相对于地面的速度&#xff0c;而只是相对于大气的速度&#xff0c;所以称为空速。如果有风&#xff0c;飞机相对地面的速度(称地速)还应加上风速(顺风飞…

linux 脚本 试题,10个Linux脚本面试题,看看你能答出几个?

1、写一个脚本&#xff0c;判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin)&#xff1b;分别这两类用户的个数&#xff1b;通过字符串比较来实现&#xff1b;declare -a shelldeclare sum_login0declare sum_nologin0shell($(cat /etc/passwd…