DNS 服务器的使用情况统计

DNS 服务器的使用情况统计

我想找到一种方法来记录对 DNS 服务器的请求,以便进行网站统计。如果服务器也使用 MySQL 作为后端服务器就太好了。

考虑到许多托管 DNS 服务都按请求收费,我猜这是可能的。但我找不到任何服务。

有人有想法吗,或者我应该自己修改现有的 DNS 服务器?

谢谢。

皮埃尔

答案1

一种方法是打开 BIND 日志:

logging{
  channel simple_log {
    file "/var/log/bind.log" versions 3 size 5m;
    severity warning;
    print-time yes;
    print-severity yes;
    print-category yes;
  };
  category default{
    simple_log;
  };
};

或者如果你有 rndc configure 你可以使用:

rndc querylog

答案2

皮埃尔,

您提到了 MySQL,因此我假设是 Linux 和 Bind。

在named.conf中应该是这样的

logging{
  channel queries_log{
    file "/var/log/named/dns.log" versions 5 size 500m;
    print-time yes;
  };
  category queries{
    queries_log;
  };
};

答案3

这里已经给出的答案显示了如何在纯文本文件中获取查询。您询问使用 MySQL 作为后端,这绝对是可能的。

按照给出的示例配置 BIND 进行查询日志记录后,您可以将这些消息发送到系统日志服务器(BIND 服务器本地或另一台主机上)。

不过,引导您完成这些操作超出了本网站的范围。不过,类似这个教程的内容将是一个不错的起点:

设置 rsyslog 以将系统日志消息存储在 MySQL 中

答案4

顺便说一句,尽管一些托管 DNS 提供商按查询收费,但有时这是通过抽样得出的估计值,因为当涉及到许多领域时,需要进行一些严格的处理才能进行精确的计数。

相关内容