从 BIND 9.3 日志中获取递归查询统计信息

从 BIND 9.3 日志中获取递归查询统计信息

我需要创建一份报告,其中包含从我们的递归 DNS 服务器请求的前 30 个域。报告必须采用以下格式:

域请求数

例如:

Google.com; 98556
yahoo.com; 45585

ETC

我知道 BIND 9.3 不提供这样的功能,那么,您是否知道任何可以每天运行并收集这些信息的脚本?

我的计划是稍后使用该信息创建一个 RRD DB。

答案1

如果您在 Bind9 中启用了 querylog,它将记录对您的服务器发出的所有查询,然后您可以解析这些查询以获取递归标志,然后进行排序。您可以使用许多工具来实现这一点,选择您自己的工具。

给出如下条目:

02-Mar-2013 10:50:08.899 queries: info: client 111.22.33.44#53: Query: fully.qualified.domain.name IN A -E
02-Mar-2013 10:50:08.900 queries: info: client 111.22.33.44#53: Query: fully.qualified.domain.name IN A6 -E

这些字段如下:

收到查询的日期和时间;客户端使用的源 IP 地址和端口号;以及名称、类和 qtype。最后一个字段显示查询是否设置了 rd(需要递归)位(+)或未设置(-)——通常显示查询是来自名称服务器还是存根解析器——或者是否使用了 EDNS0(E)。

相关内容