在默认情况下,BIND把日志消息写到/var/log/messages文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息,所以要详细记录服务器的运行状况,需要自己配置服务器的日志行为。也就是要在配置文件named.conf中使用logging语句来定制自己所需要的日志记录,logging语句的语法为:
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中就可以了):
      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

另外解释一下“[color=blue]file "query.log" versions 3 size 20m;[/color]”语句中“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进行写入。

BIND9详解之日志篇的更多相关文章

  1. IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)

    IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...

  2. [转]ANDROID L——Material Design详解(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...

  3. appledoc导出iOS代码文档的使用和问题详解(干货篇)

    appledoc导出iOS代码文档的使用和问题详解(干货篇) 1. 简单说一下背景和自己感受 背景: 项目好像突然黄了,公司让详细写项目代码的注释并且导出文档,弄完之后就要封版. 说实话:听到这个消息 ...

  4. Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)

    前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十 ...

  5. Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(下)

    LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C, ...

  6. 关于syslog日志功能详解 事件日志分析、EventLog Analyzer

    关于syslog日志功能详解 事件日志分析.EventLog Analyzer 一.日志管理 保障网络安全 Windows系统日志分析 Syslog日志分析 应用程序日志分析 Windows终端服务器 ...

  7. TCP协议详解(理论篇)

    TCP协议详解(理论篇) 2012-08-20      0个评论       作者:陈立龙 收藏    我要投稿 TCP协议详解(理论篇)   1.    与UDP不同的是,TCP提供了一种面向连接 ...

  8. 事件驱动模型实例详解(Java篇)

    或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类 ...

  9. hadoop之mapreduce详解(进阶篇)

    上篇文章hadoop之mapreduce详解(基础篇)我们了解了mapreduce的执行过程和shuffle过程,本篇文章主要从mapreduce的组件和输入输出方面进行阐述. 一.mapreduce ...

随机推荐

  1. Routing

    假如有一个请求:localhost/home/index,那么路由需要做的事情如下: (1)确定Controller (2)确定Action (3)确定其他参数 (4)根据识别出来的数据,将请求传递给 ...

  2. python设计模式之观察者模式

    观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern).比如,当一个对象被修改时,则会自动通知它的依赖对象.观察者模式属于行为型模式. 观察者模式在状态检测和事件处 ...

  3. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())[4]

    数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0版本升级到1.1版 ...

  4. Linux——搭建PHP开发环境第二步:PHP

    原文链接:http://www.2cto.com/os/201511/450258.html ##### PHP 编译安装 #### [root@localhost ~]# yum install l ...

  5. svn , github工作流

    svn 需要有一台中央服务器,所有的分支,主干,标签,全都保存在这台中央服务器上.开发着需要提交代码时,需要保持中央服务器连接.切换分支时会有本地与服务器网络连接. git 改进了这一点,每台安装有g ...

  6. Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...

  7. [转]C# FileSystemWatcher监控指定文件或目录的文件的创建、删除、改动、重命名等活动

    觉得这个很常用..比如一些软件.   http://www.rabbit8.cn/DoNet/407.html   FileSystemWatcher控件主要功能: 监控指定文件或目录的文件的创建.删 ...

  8. 用C#实现网络爬虫(二)

    上一篇<用C#实现网络爬虫(一)>我们实现了网络通信的部分,接下来继续讨论爬虫的实现 3. 保存页面文件 这一部分可简单可复杂,如果只要简单地把HTML代码全部保存下来的话,直接存文件就行 ...

  9. keil优化等级设置

    附表:Keil C51中的优化级别及优化作用 级别说明 0 常数合并:编译器预先计算结果,尽可能用常数代替表达式.包括运行地址计算. 优化简单访问:编译器优化访问8051系统的内部数据和位地址. 跳转 ...

  10. mongDB 的使用

    首先是启动 mongdb的service ,不启用的话,使用mong shell 连接的现象是: 启动服务端,指定默认的存储的位置即可: mongod  -- dbpath  F:/store  #数 ...