使用记录BIND
请求时rndc querylog
,日志记录默认为/var/log/messages
。是否可以更改此日志记录目标并指定我自己的日志文件?
答案1
在 named.conf 的手册页中,有一个关于日志记录的部分。
只要确保如果您对 DNS 服务使用 chroot,那么您的日志目标就能被正确解释。
具体来说,语法图如下:
logging { channel string { file log_file; syslog optional_facility; null; stderr; severity log_severity; print-time boolean; print-severity boolean; print-category boolean; }; category string { string; ... }; };
答案2
是的!如果您不希望此信息出现在系统日志消息文件中,您可以定义查询日志通道并将该输出定向到您选择的特定日志文件目标。
channel queries_log {
file "/var/named/log/queries" versions 600 size 20m;
print-time yes;
print-category yes;
print-severity yes;
severity info;
category queries { queries_log; };
请记住,您可以根据需要使用 rndc 启用和禁用查询日志记录以进行调试。这将帮助您在操作正常时节省一些 CPU 周期和磁盘 I/O。调整我发布的示例,以便您的文件系统上不会出现 600 个 20MB 的记录查询文件。
作为一种实践,请尝试为您的日志设置一个专用的分区和文件系统,这样填满它不会对其他系统操作产生负面影响。例如,将 /var/log 放在它自己的分区/切片上。最坏的情况是,如果它填满,您可能会丢失一些日志数据,但系统功能可以继续。