对于排除DNS故障来说,日志文件是极其重要的工具,DNS日志可以记录服务器CPU占用时间,查询统计信息以及配置中存在的问题。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。BIND在默认情况下,日志是写到/var/log/messages文件中,由于这个文件是系统中的日志信息由syslog生成,所以不全是BIND的日志,要详细分类BIND的日志,需要修改配置文件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中就可以了):

CODE:

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进行写入。

DNS日志应该根据实际需要多设置几个通道,将日子信息分类记录,在多看多分析的原则下发现各类问题,以便及时解决。例如:

/var/named/dns-default.log文件发现多条警告信息“Nov 02 15:15:34.647 client:warning 10.2.2.36#1036:no more recursive clients:quota reached” 。通过分析得知BIND客户端数量默认是1000,瞬间请求超过这个值就会出现这个警告,所以修改named.conf。添加语句“recursive-clients 10000”,即解决问题。

linux bind日志级别,BIND日志相关(一)相关推荐

  1. rsyslog日志级别 配置日志输出级别

    日志级别如下: 等级数值 等级名称 说明 7 debug 调试程序产生的的日志 6 info 基本信息说明,无伤大雅 5 notice 虽然是正常信息,但比info还需要被注意到的一些信息内容 4 w ...

  2. java slf4j日志级别_SLF4J日志级别以及使用场景

    为什么要使用日志 在项目开发的过程中, 添加合适的日志是一个必不可少的过程,给程序添加合适的日志有以下两个好处. 可以通过查看日志的输出,了解程序的运行状况,判断程序是否按预期进行运行. 程序出现bu ...

  3. python logging模块默认日志级别_Python 日志模块logging

    logging模块: logging是一个日志记录模块,可以记录我们日常的操作. logging日志文件写入默认是gbk编码格式的,所以在查看时需要使用gbk的解码方式打开. logging日志等级: ...

  4. python log日志级别_python – 日志记录:如何为处理程序设置最大日志级别

    您可以向文件处理程序添加过滤器.这样,您可以将特定级别重定向到不同的文件. import logging class LevelFilter(logging.Filter): def __init__ ...

  5. java log4j基本配置及日志级别配置详解,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  6. Log4j日志级别及使用规范

    目录 1.日志存储 2.日志工具的选择 3.日志输出级别 4.Log4j配置 5.什么时候应该打日志 6.日志API规范 6.1.Log4j.slf4j对象的声明和初始化,仅以下代码是符合规范的 6. ...

  7. java日志级别的作用_Java系统日志级别对性能的影响性

    先介绍下java系统的日志 日志框架:是一种日志接口,不负责具体的日志输出形式(有点类似于JDBC),可以灵活的切换日志输出形式.常见的日志框架有slf4j.jcl,只提供Logger.LoggerF ...

  8. 日志管理(一)-日志级别

     日志管理在我们开发中极其的重要,我们可以通过日志来定位问题,也可以来统计所需要的内容.Java中使用比较多日志框架有:log4j,logback.logback是log4j的优化版,由同一个作者开发 ...

  9. java logger 日志级别_Java如何设置Logger日志级别?

    在此示例中,您将看到我们如何更改或设置Logger日志级别.日志级别将告诉您Logger将记录哪个特定的日志消息. Logger如果级别等于或高于级别,则仅记录日志消息Logger.例如,当级别设置L ...

最新文章

  1. [转]关于重定向RedirectAttributes的用法
  2. [转] 关于Jmail
  3. 并发编程中的GIL锁(全局解释器锁)自己理解的他为啥存在
  4. 天翼云从业认证(4.7)天翼云安全基础实践
  5. 北斗导航 | ION GNSS+ 2021、 ION GNSS+ 2020会议论文下载:ION 美国导航学会
  6. x1c 2017 安装mint18的坑——grub2
  7. ue4模型导出_MAYA动画导出以及导入UE4的方式、方法
  8. 矩阵连乘 动态规划 详解
  9. powershell加win的dns服务器,解决网站负载均衡问题
  10. 应对游戏业务的四大“崩溃”场景有妙招,安全畅玩不是梦!
  11. [原]CentOS 6.5 上安装 MySQL 5.6
  12. grub的说明与配置方法
  13. 如何优雅的起个变量名?
  14. 为什么新闻联播的主持人不低头念稿,难道都背下来了?
  15. WordPress 实用SEO插件总结
  16. hdoj1043 Eight(逆向BFS+打表+康拓展开)
  17. 用Python编游戏
  18. Android平板app开发布局文件,Android平板开发相关
  19. perp系列之二:perp源码README
  20. 初级开发者福音:手把手教你实现数字滚动效果~

热门文章

  1. 宏任务和微任务执行顺序_确保任务的执行顺序
  2. apache camel_REST端点,可使用Apache Camel进行集成
  3. Java 8 Friday:让我们弃用那些旧版库
  4. 查看您的Solr缓存大小:Eclipse Memory Analyzer
  5. Java泛型中的子类型化
  6. 带有正则表达式模式的Google Guava Cache
  7. 用信号量锁定:一个例子
  8. Java执行程序服务类型
  9. 管理Jenkins作业配置
  10. 组合商品和商品套餐(套装)的设计