BIND9 日志记录对我来说太冗长(太冗长)了

BIND9 日志记录对我来说太冗长(太冗长)了

我已经在 BIND9 服务器中配置了日志记录,并且有 2 个日志文件:1) debug.log;2) query.log。第二个还行。目前为止没什么可抱怨的。但是第一个对我来说太冗长(太啰嗦了)。我甚至听不懂它所说的 90%。几个小时内你就会得到数十万行文本。太疯狂了!设置方法如下:

channel debug_log {
     file "/var/log/named/debug.log";
    severity debug 3;

如果我理解正确的话,为了使其不那么冗长(闲聊),我可以尝试调试 2 或简单调试(默认为调试 1)。对吗?下一个级别(不那么闲聊)将是:

severity info; 

正确的?

PS 这是我的完整日志部分:

logging {

channel debug_log {
     file "/var/log/named/debug.log";
    severity info;
    print-category yes;
    print-severity yes;
    print-time yes;
};

channel query_log {
    file "/var/log/named/query.log";
    severity dynamic;
    print-category yes;
    print-severity yes;
    print-time yes;
};

category resolver { debug_log; };
category security { debug_log; }; 
category queries { query_log; };

};

答案1

作为参考,如果您没有通过以下方式指定任何自定义日志记录设置named.conf 默认值是:

logging {
    category default { default_syslog; default_debug; };
    category unmatched { null; };
};

预定义的渠道包括:

channel default_syslog {
    // send to syslog's daemon facility
    syslog daemon;
    // only send priority info and higher
    severity info;
};

channel default_debug {
    // write to named.run in the working directory
    // Note: stderr is used instead of "named.run" if
    // the server is started with the '-f' option.
    file "named.run";
    // log at the server's current debug level
    severity dynamic;
};

channel default_stderr {
    // writes to stderr
    stderr;
    // only send priority info and higher
    severity info;
};

channel null {
   // toss anything sent to this channel
   null;
};

即,如果您在配置文件中不更改任何日志设置,它将以严重性记录info到 syslog。
如果您要打开调试日志记录 ( rndc trace),它还将以当前调试级别记录到工作目录named.run中的文件中。named

如果您想要的只是默认日志记录(通常会转到 syslog 但直接进入单独的文件),info那么严重性就会很高。

如果您没有进行调试named,我认为没有任何理由记录debug严重性。与您的典型操作故障排除相关的正常错误已使用默认设置记录。

答案2

对于debug,您可以设置的最低值为 1,这比 2 或更高值更简洁。当然,您也可以将调试值设置为 0,但这意味着您已禁用调试。

你是正确的,调试后的下一个级别或更少的严重性将是info,其次是notice,,warningerrorcritical只有严重错误,因此更少的干扰)。

阅读本文档

对于debug严重性,您也可以将其设置为dynamic,这在您想要在测试阶段或故障排除期间动态进行更改时非常有用。一旦设置为动态,使用rndc trace将值增加一,或rndc notrace将调试值设置为 0。您还可以使用“rndc 跟踪级别”控制调试值。

使用动态严重性 -

ns1 绑定 #rndc 状态
...
调试级别:0
..

ns1 绑定#rndc 跟踪 2
ns1 绑定 #rndc 状态
...
调试级别:2
...
ns1 绑定#rndc 跟踪 0
ns1 绑定 #rndc 状态
...
调试级别:0
...

相关内容