BIND区域统计信息跟踪?

我试图准确估计我的DNS服务器为特定子区域处理了多less个查询/ {day,week,month}。 我运行了“rndc stats”,得到了一个统计文件,但它包含了所有区域的查询,而且我只需要一个子集的统计信息。 我认为这可以通过向区域文件的区域部分添加“zone-statistics no”来完成,但是我没有信心只是尝试一下,看看会发生什么。 这是正确的程序,还是有另一种方式?

OS:OpenSuSE 11.2 BIND:9.5

谢谢,

肯德尔

zone-statistics就是这样。

您可以将其设置为全局(在“选项”中),对不感兴趣的区域设置为no ,反之亦然 – 全局设置为no ,对感兴趣的区域设置为yes

– 剪这里 –

其实你有3种方法获得统计:

  1. rndc统计
  2. HTTP(统计信道)
  3. 查询日志(将logging所有区域的所有查询)

显然,如果你需要的只是统计数据,1和2是正确的方法。 要按照区域控制它们,请使用zone-statistics语句。 logging(3)不能在BIND内的每个区域进行控制。

这不是特别优雅,但是这里。

在你的configuration中(同样的地方你把zone{}块,但不是在一个),添加像这样的东西:

 logging { channel query_log { file "/var/log/named.queries"; // or somewhere else print-time yes; }; category queries { query_log; }; }; 

你将负责自己分析文件( grep ... | wc或其他东西)。

如果您不希望文件永远增长,您可能还需要考虑日志轮换。 绑定有一些内置的支持根据文件大小或named重新启动日志滚动,或者你可以使用像logrotate外部的东西。 绑定的日志logging选项详见http://www.zytrax.com/books/dns/ch7/logging.html

绑定支持统计。 请参阅“ 绑定9configuration参考”中的详细信息。 我想你想设置区域统计信息为是做你想做的。