缺省情况下,BIND9将日志消息写入/sldhk/log/messages文件。 这些日志消息非常少,主要是启动、关闭的日志记录和严重错误消息。 将调试日志信息写入BIND服务器工作目录中的named.run文件。
BIND 9日志可以灵活配置。 要详细记录服务器的运行状况,请在配置文件named.conf中使用logging语句自定义所需的日志记录。
绑定日志的常用术语
在解释logging语句的语法之前,必须熟悉常用术语
术语的含义
通道日志输出方法,如syslog、文本文件、标准错误输出和/dev/null
“类别”日志的消息类别。 例如,询问消息或动态更新消息等
模块生成消息的源模块的名称
设备系统日志设备名称
“服务”消息的严重性级别
logging语句语法
logging语句的语法如下:
记录{
定义通道channel _ name {//通道
filelog _ file [ versions number|unlimited ] [ sizesizespec ]; |系统日志
选项al _ facility; |空; | stderr; //定义输出方式
severity log_severity; //定义消息的严重性
[打印时间布尔; ] //是否在消息中添加时间前缀,仅用于file日志
[打印服务布尔; //是否在消息中添加消息的严重性前缀
[打印类别布尔; //是否在消息中添加消息类别名称前缀
(;
定义类别类别_名称{//类别
channel_name;
.
(;
(;
配置日志时,首先定义通道,然后将不同日志类型的数据分配给指定的通道并输出。
BIND 9的默认配置如下:
记录{
//因为使用了默认通道,所以没有通道定义部分
类别' default ' { ' default _ syslog '; ' default_debug '; (;
(;
通道语句
channel语句用于定义通道。 要指定发送日志数据的位置,需要以下四个位置之一:
file :被输出到纯文本文件
log_file指定文件名
version指定可以同时存在的文件版本数。 例如,如果指定三个版本(版本3 ),则会保存query.log、query.log0、query.log1和query.log2。
size指定文件大小的上限,如果仅设置了size而未设置
版本,当文件达到指定的文件大小上限时,服务器将停止写入该文件。 如果设置了版本,服务将循环,例如将log_file更改为
log_file.log1,log_file.log1变为log_file.log2等,从而创建新的log_file.log
进行写入。
syslog optional _ facility :输出到syslog。 其中optional_facility是syslog的设备名称,通常如下所示:
魔神兽
local0到local7
null :输出到可用设备
stderr :输出到标准错误输出,默认为画面
severity语句指定消息的严重性级别。 log_severity的值按严重性从低到高的顺序排列。
严重的
错误发生器
魔兽世界
通告
信息技术
debug [ level ]
动态是与服务器当前调试级别相匹配的特殊值
定义重要性级别时,将记录包含该级别和更高重要性级别的所有消息。 例如,如果将级别定义为error,则会记录两个级别的信息:严重级别和错误级别。
对系统管理者来说,通常记录到info水平即可。
BIND 9提供了四个默认通道:
channel 'default_syslog' {
系统日志后台; 发送到syslog
的 daemon 设备severity info; // 只发送此 info 及其更高优先级的信息
};
channel "default_debug" { // 只有当服务器的 debug 级别非 0 时,才产生输出。
file "named.run"; // 写入工作目录下的 named.run 文件
severity dynamic; // 按照服务器当前的debug 级别记录日志
};
channel "default_stderr" {
stderr; // 写到stderr
severity info; // 只发送此 info 及其更高优先级的信息
};
channel "null" {
null; // 丢弃所有发到此通道的信息
};
category 语句
category 语句是指定哪一种类别的信息使用哪个或者哪几个已经定义了的通道输出。
BIND 9 中可用的类别名(category_name)有:
类别 说明
client 处理客户端请求。
config 配置文件分析和处理。
database 同BIND内部数据库相关的消息,用来存储区数据和缓存记录。
default 匹配所有未明确指定通道的类别。
dnssec 处理 DNSSEC 签名的响应。
general 包括所有未明确分类的 BIND 消息。
lame-servers 发现错误授权,即残缺服务器。
network 网络操作。
notify 区更新通知消息。
queries 查询日志
resolver 名字解析,包括对来自解析器的递归查询信息。
security 批准/非批准的请求。
update 动态更新事件。
xfer-in 从远程名字服务器到本地名字服务器的区传送。
xfer-out 从本地名字服务器到远程名字服务器的区传送。
例如要记录查询消息,可以在 named.conf 中添加如下配置:
logging {
channel query_log {
file "query.log" versions 3 size 20m;
severity info;
print-time yes;
print-category yes;
};
category queries {
query_log;
};
};
这样服务器会在工作目录(directory 语句所指定的目录,Ubuntu 为:/sldhk/cache/bind)下创建 query.log 文件,并把运行过程产生的 queries 消息写如到此文件中。
阅读(9302) | 评论(0) | 转发(1) |