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

对于排除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”,即解决问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

junit:junit_简而言之,JUnit:测试结构

junit:junit尽管存在有关JUnit测试的书籍和文章,但我仍然经常遇到程序员,他们至多对这个工具及其正确用法都不甚了解。 因此,我想到了编写多部分教程的想法,从我的角度解释了要点。 也许在本微型系列文章中采用的动手方法可能适合…

联想打印机7256显示更换墨盒_惠普打印机涉嫌垄断?只认自家“昂贵”墨盒,成本太高招架不住...

近日,有人爆料称,所在公司购买的惠普打印机使用原装墨盒时可正常打印,更换其他品牌墨盒后也不能正常使用,因此认为惠普公司有行业垄断的嫌疑。从细节来看,该公司购买了惠普同一型号但不同批次的两台打印机,…

linux mcelog 运行,服务器硬件检测(采用mcelog)

mt 内存监控:mcecheck.pyraid监控: check-raidmcelog 是 x86 的 Linux 系统上用来检查硬件错误,特别是内存和CPU错误的工具。安装方式yum install mcelog运行mcelog查看日志方式/var/log/mcelogMCE 0HARDWARE ERROR. This is NOT a software …

动手选择值

由于冠状病毒的存在,可选的东西在空中,一切都变得可选,例如可选的公共聚会,可选的在家工作,可选的旅行等。 我现在是时候谈论处理NULL引用的软件工程中真正的“ 可选 ”了。 托尼霍尔(Tony Hoare&#xf…

python mysql操作_Python的MySQL操作

Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。Python DB-API使用流程:引入API模块。获取与数据库的连接。执行SQL语句和存储过程。关闭数据库连接。一、安装MySQL客户端MySQLdb 是用于Python链接Mysql数据库的接口&#x…

linux下的遥控器软件下载,Linux操作系统下遥控器的配置及使用方法

你有没有想象过能够坐在沙发上,或者躺在床上,拿着遥控器像操作电视一样来操作电脑?可能你已经见到过市场上出现的那种电脑遥控器,不过它们都是基于windows下的。其实,通过一定的配置,在linux平台上&#xf…

wincc历史数据库_WinCC系统的基本功能介绍——自动化工程师必备

写在面前前面讲解了西门子的TIA Portal Wincc, Wincc Classic和Wincc OA (一文带你了解西门子Wincc),介绍了西门子的超大型/分布式SCADA系统Wincc OA(初识西门子Wincc OA——超大型/分布式SCADA),还介绍了Wincc Classic的典型架构和选型指南(WinCC V7.5典型架构及选…

apache.camel_Apache Camel 2.14中的更多指标

apache.camelApache Camel 2.14将于本月晚些时候发布。 由于正在解决某些Apache基础结构问题,因此存在一些问题。 这篇博客文章讨论的是我们添加到此版本中的新功能之一。 感谢Lauri Kimmel捐赠了骆驼指标组件,我们将其与出色的Codehale指标库集成在一起…

获取linux详细信息,Linux 获取网口详细信息

一般来说,研究 ifconfig.c 源代码就可以达到目的了。但是Linux已经提供了比较方便的获取网口信息的方式:[philipcatonbj ~]$ cat /sys/class/net/em1/statistics/rx_bytes3911191274在/sys/class/net/INTERFACE/statistics/ 目录下有所有网口的状态&…

python魔法方法str_8.9.魔法方法 - str()方法

# \_\_str\_\_()方法~~~class Car(object):"""定义了一个车类,可以启动和炸街"""def __init__(self, name, max_speed, vehicle_length):""" __init__() 方法,用来做变量初始化 或 赋值 操作""&…

依赖管理和Maven

Maven伟大而成熟。 几乎所有事物都总有解决方案。 您可能在组织项目上遇到的主要情况是依赖管理。 而不是每个项目都没有自己的依赖关系,您需要一种集中化的方式来继承那些依赖关系。 在这种情况下,您可以在父舞会上声明托管依赖项。 在我的示例中&…

linux ps 代码,Linux ps命令详解(示例代码)

ps命令是Process Status的缩写, 用来列出系统中当前运行的那些进程. ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令ps常见命令参数********* simple selection ******…

python hadoop streaming_Hadoop Streaming 使用及参数设置

1. MapReduce 与 HDFS 简介什么是 Hadoop ?Google 为自己的业务需要提出了编程模型 MapReduce 和分布式文件系统 Google File System,并发布了相关论文(可在 Google Research 的网站上获得:GFS、MapReduce)。Doug Cutting 和 Mike Cafarella …

neo4j set 多个值_Neo4j:收集多个值

neo4j set 多个值在Neo4j的密码查询语言中,我最喜欢的功能之一是COLLECT,它使我们能够将项目分组到一个数组中以备后用。 但是,我注意到人们有时难以确定如何使用COLLECT收集多个项目,并且很难找到一种方法。 考虑以下数据集&am…

linux继续执行上一个命令快捷键,整理了上linux 命令行上常用的 快捷键

整理了下linux 命令行下常用的 快捷键整理了下linux 命令行下常用的 快捷键1.CTRL u 删除正行你敲的命令。例如 : find . -name hoho按下CTRL U 后 正行都会被删除2.若是你只是想删除一个局部的命令的话,那么可以用CTRL w 以空格为分隔符 删除你的命令…

shell字段拼接日期_shell 脚本字符串拼接

在编写shell脚本的时候,难免会使用shell脚本的字符串拼接,不经常使用的话真的会忘记。本人写着一篇的目的也就是记录以下,到时候回过头来不用找的太麻烦。首先变量与变量拼接str1"123"str2"456"echo $str1$str2结果输出1…

Apache Kafka消费者再平衡

消费者重新平衡决定哪个消费者负责某些主题的所有可用分区的哪个子集。 例如,您可能有一个包含20个分区和10个使用者的主题。 在重新平衡结束时,您可能希望每个使用者都从2个分区中读取数据。 如果关闭了这些使用者中的10个,则可能会期望每个…

linux与虚拟化实验室,Linux·学习笔记(2)虚拟化与仿真

Linux支持的虚拟化1.完全虚拟化:为客户操作系统创建一个虚拟机实例,使客户操作系统可以不加修改地运行,虚拟机模拟底层硬件的某些部分,捕捉需要由管理程序(虚拟机监视器)进行仲裁的调用。要求所有的操作系统都是针对统一处理器架构…

证明没有例外

您如何证明虚无的存在? 你应该? 在我编写的某些测试中,尤其是围绕验证或围绕创建空对象的测试中,我真正想写的是这样的: assertThat( ... call some code ... ) .doesntThrow(); 您可以合理地编写如下内容。 您会发现…

tfidf处理代码_tfidf.txt

function [count,tf,idf,weight]tfidf(docs,term)%docs--input documents,cell型%term-- keywords也就是特征词提取,cell型%output:count--存放各个关键词出现的频率在整个文档中% wordnum--存放文档总的词汇数%测试用例%*****************************************…