当前位置: 主页 > 服务器技术 > DNS服务器 > bind9日志篇

bind9日志篇

时间:2009-9-29来源:互联网 点击:
在默认情况下,BIND把日志消息写到/var/log/messages文档中,而这些日志消息是很少的,主要就是启动,关闭的日志记录和一些严重错误的消息,所以要周详记录服务器的运行状况,需要自己配置服务器的日志行为。也就是要在配置文档named.conf中使用logging语句来定制自己所需要的日志记录,logging语句的语法为:
CODE:
[Copy to clipboard]
logging {
                channel ; {
                file ;;
                        syslog ;;
                null;
                stderr;
                        severity ;;
                        print-time ;;
                        print-severity ;;
                        print-category ;;
        };
        category ; { ;; ... };
};在日志中主要有两个概念:通道(channel)和类别(category)。通道指定了应该向哪里发送日志数据:是发送给syslog,还是写在一个文档里,或是发送给named的标准错误输出,还是发送到位存储桶(bit bucket)。类别则规定了哪些数据需要记录。下面我们主要介绍一下文档通道和类别。
在定义通道的语句中,severity是指定记录消息的级别。在bind中主要有以下几个级别(按照严重性递减的顺序):
critical
error
warning
notice
info
debug [ level ]
dynamic
定义了某个级别后,系统会记录包括该级别连同比该级别更严重的级别的任何消息。比如定义级别为error,则会记录critical和error两个级别的信息。一般情况下,我们记录到info级别就能够了。print-time是设定在日志中是否需要写入时间,print-severity是设定在日志中是否需要写入消息级别,print-category是设定在日志中是否需要写入日志类别。
category语句是指定哪一种类别的数据使用哪个或哪几个已定义了的通道。在bind9中类别有:
default
        default类别匹配任何未明确指定通道的类别,但是不匹配不属于任何类别的消息。这些不属于任何类别的消息属于下面列出的这些类别。
general
        包括任何未明确分类的BIND消息。
client
        处理客户端请求。
config
        配置文档分析和处理。
database
        同BIND内部数据库相关的消息,用来存储区数据和缓存记录。
dnssec
        处理DNSSEC签名的响应。
lame-servers
        发现错误授权。
network
        网络操作
notify
        异步区变动通知。
queries
        查询日志
resolver
        名字解析,包括对来自解析器的递归查询的处理。
security
        认可/非认可的请求。
update
        动态更新事件。
xfer-in
        从远程名字服务器到本地名字服务器的区传送。
xfer-out
        从本地名字服务器到远程名字服务器的区传送。
例如要记录queries消息,就能够如下配置(把以下语句添加到named.conf中就能够了):
CODE:
[Copy to clipboard]
      logging {
              channel query_log {
                      file "query.log"        versions 3 size 20m;
                      severity        info;
                      print-time        yes;
                      print-category  yes;
              };
              category queries {
                      query_log;
              };
      };这样服务器会在工作目录(directory语句所指定的目录,通常为:/var/named)下创建query.log这个文档,并把运行过程产生的queries消息写如到query.log文档中,如下:
Nov          28  16:04:55.516  queries: client 192.168.0.113#32770: query: dns.andy.com IN A
另外解释一下“file "query.log" versions 3 size 20m;”语句中“version”和“size”的意义:
version是指定允许同时存在多少个版本的该文档,比如指定3个版本(version 3),bind9会保存query.log、query.log0、query.log1和query.log2。
Size是指定文档大小的上限,假如只设定了size而没有设定version的话,当文档达到指定的文档大小上限时,服务器停止写入该文档。假如设定了version的话,服务器会进行循环,比如把query.log变成query.log1,query.log1变成query.log2等,然后建立一个新的query.log进行写入。
站长资讯网
. TAG: 日志
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言