为某个区域bind9制作特殊的查询日志

为某个区域bind9制作特殊的查询日志

如何从某个区域创建特殊查询日志文件。

虽然我当前的日志配置是

logging {
        channel query_logging {
                file "/var/log/named/query.log" versions 5>
                //severity debug 1;
                print-time yes;
                //print-severity yes;
                //print-category yes;
        };

        category queries {
                query_logging;
        };
};

该配置记录来自任何区域的所有查询并将其保存到一个文件中。我想要的是记录指定区域并将日志保存到指定文件。

例如区域example.com

因此,任何包含 example.com 字的查询行都将保存到指定文件中。

注意:我的区域被视图封装了。

如果 bind 不能处理,也许 regex 可以?但是如何定期将 regex 结果保存到文件中?我怀疑使用 regex 会不会浪费 CPU 资源。

答案1

你不能。

但是您可以将所有日志转发到 SyslogNG 或同等系统,在那里您可以完全使用正则表达式将给定的流拆分为多个文件或其他接收器。

附言:也许其他名称服务器中也存在该功能,您是否有什么特定的理由只考虑bind

相关内容