ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 8461|回复: 0
打印 上一主题 下一主题

[转帖]BIND9详解之日志篇

[复制链接]
跳转到指定楼层
顶楼
发表于 2006-3-17 15:21:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前几天一直有网友询问关于DNS的日志问题。今天我刚好有空,整理了一下分享给大家 <br>
<br>
在默认情况下,BIND把日志消息写到/var/log/messages文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息,所以要详细记录服务器的运行状况,需要自己配置服务器的日志行为。也就是要在配置文件named.conf中使用logging语句来定制自己所需要的日志记录,logging语句的语法为:<br>
<br>
<br>
CODE:[Copy to clipboard]logging {<br>channel <string>; {<br>file <logfile>;;<br>syslog <optional_facility>;;<br>null;<br>stderr;<br>severity <logseverity>;;<br>print-time <boolean>;;<br>print-severity <boolean>;;<br>print-category <boolean>;;<br>};<br>category <string>; { <string>;; ... };<br>
};<br>
在日志中主要有两个概念:通道(channel)和类别(category)。通道指定了应该向哪里发送日志数据:是发送给syslog,还是写在一个文件里,或是发送给named的标准错误输出,还是发送到位存储桶(bit bucket)。类别则规定了哪些数据需要记录。下面我们主要介绍一下文件通道和类别。<br>
<br>
在定义通道的语句中,severity是指定记录消息的级别。在bind中主要有以下几个级别(按照严重性递减的顺序):<br>
<br>
critical<br>
error<br>
warning<br>
notice<br>
info<br>
debug [ level ]<br>
dynamic<br>
<br>
定义了某个级别后,系统会记录包括该级别以及比该级别更严重的级别的所有消息。比如定义级别为error,则会记录critical和error两个级别的信息。一般情况下,我们记录到info级别就可以了。print-time是设定在日志中是否需要写入时间,print-severity是设定在日志中是否需要写入消息级别,print-category是设定在日志中是否需要写入日志类别。<br>
<br>
category语句是指定哪一种类别的数据使用哪个或者哪几个已经定义了的通道。在bind9中类别有:<br>
<br>
default<br>default类别匹配所有未明确指定通道的类别,但是不匹配不属于任何类别的消息。这些不属于任何类别的消息属于下面列出的这些类别。<br>
general<br>包括所有未明确分类的BIND消息。<br>
client<br>处理客户端请求。<br>
config<br>配置文件分析和处理。<br>
database<br>同BIND内部数据库相关的消息,用来存储区数据和缓存记录。<br>
dnssec<br>处理DNSSEC签名的响应。<br>
lame-servers<br>发现错误授权。<br>
network<br>网络操作<br>
notify<br>异步区变动通知。<br>
queries<br>查询日志<br>
resolver<br>名字解析,包括对来自解析器的递归查询的处理。<br>
security<br>认可/非认可的请求。<br>
update<br>动态更新事件。<br>
xfer-in<br>从远程名字服务器到本地名字服务器的区传送。<br>
xfer-out<br>从本地名字服务器到远程名字服务器的区传送。<br>
<br>
例如要记录queries消息,就可以如下配置(把以下语句添加到named.conf中就可以了):<br>
<br>
<br>
CODE:[Copy to clipboard] logging {<br>channel query_log {<br>file "query.log" versions 3 size 20m;<br>severity info;<br>print-time yes;<br>print-category yes;<br>};<br>category queries {<br>query_log;<br>};<br>};<br>
这样服务器会在工作目录(directory语句所指定的目录,通常为:/var/named)下创建query.log这个文件,并把运行过程产生的queries消息写如到query.log文件中,如下:<br>
<br>
Nov 28 16:04:55.516 queries: client 192.168.0.113#32770: query: dns.andy.com IN A<br>
<br>
另外解释一下“file "query.log" versions 3 size 20m;”语句中“version”和“size”的意义:<br>
<br>
version是指定允许同时存在多少个版本的该文件,比如指定3个版本(version 3),bind9会保存query.log、query.log0、query.log1和query.log2。<br>
<br>
Size是指定文件大小的上限,如果只设定了size而没有设定version的话,当文件达到指定的文件大小上限时,服务器停止写入该文件。如果设定了version的话,服务器会进行循环,比如把query.log变成query.log1,query.log1变成query.log2等,然后建立一个新的query.log进行写入。 <br>
<br>
<br><br>
__________________________________<br><br>
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-12-22 20:14

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表