查明通过 WHM 或 SSH 每月进行多少次 DNS 查询?

查明通过 WHM 或 SSH 每月进行多少次 DNS 查询?

有可能吗?我们完全控制我们的 DNS 服务器和实际指向的服务器。我们想知道我们目前收到的 DNS 查询数量,因为我们想迁移到 Ultra DNS,但我们需要知道我们一个月内可能收到多少查询。

这可能吗?我需要在跟踪开始之前启动服务吗?或者使用 shell 访问数据?

答案1

正如 AndyN 所说,答案是:

sudo rndc stats

当您运行此命令时(如果在文件中配置了named.conf),Bind 将会把统计信息转储到配置的统计文件中。

您需要检查 /etc/bind/named.conf.* 文件中是否有以下行:

 [ statistics-file "path_name"; ]

(在 Ubuntu 上,其named.conf.options路径为/var/run/named/named.stats

从您的问题来看,您需要知道 DNS 查询的大致数量,以便进行扩展。您应该可以从文件中大致了解这一点。

运行 sudo rndc stats

然后在适当的时间(几个小时?几天?)后再次运行它。

在您的统计文件中,您将看到以下内容(这是来自我自己的家庭 DNS 服务器 - 它既是缓存解析器又是权威服务器)。

抱歉信息量太大了...第一行的数字是“纪元时间”(自 1970-1-1 00:00 UTC 以来的秒数)。使用它,您可以计算出从一个“rndc 统计”到下一个“rndc 统计”的时间差以及不同的请求数(您需要查看传入“查询”和传出总数(A + NS + SOA + PTR + TXT + AAAA)。

+++ Statistics Dump +++ (1275999954)
++ Incoming Requests ++
                432 QUERY
++ Incoming Queries ++
                 306 A
                   2 NS
                   4 SOA
                  45 PTR
                   5 TXT
                  70 AAAA
++ Outgoing Queries ++
[View: default]
                 523 A
                   4 NS
                   4 SOA
                  42 PTR
                   9 TXT
                 330 AAAA
[View: _bind]
++ Name Server Statistics ++
                 432 IPv4 requests received
                 431 responses sent
                 259 queries resulted in successful answer
                  96 queries resulted in authoritative answer
                 335 queries resulted in non authoritative answer
                  39 queries resulted in nxrrset
                 133 queries resulted in NXDOMAIN
                 238 queries caused recursion
                   1 duplicate queries received
++ Zone Maintenance Statistics ++
++ Resolver Statistics ++
[Common]
[View: default]
                 849 IPv4 queries sent
                  63 IPv6 queries sent
                 841 IPv4 responses received
                  67 NXDOMAIN received
                   2 FORMERR received
                   2 EDNS(0) query failures
                 123 query retries
                   5 query timeouts
                 118 IPv4 NS address fetches
                 118 IPv6 NS address fetches
                   1 IPv4 NS address fetch failed
                  90 IPv6 NS address fetch failed
                  13 queries with RTT < 10ms
                 549 queries with RTT 10-100ms
                 279 queries with RTT 100-500ms
[View: _bind]
++ Cache DB RRsets ++
[View: default]
                 366 A
                  87 NS
                   9 CNAME
                   1 PTR
                  97 AAAA
                  20 RRSIG
                  15 NSEC
                   4 !AAAA
                   1 NXDOMAIN
[View: _bind]
++ Socket I/O Statistics ++
                 852 UDP/IPv4 sockets opened
                  64 UDP/IPv6 sockets opened
                   3 TCP/IPv4 sockets opened
                   2 TCP/IPv6 sockets opened
                 850 UDP/IPv4 sockets closed
                  63 UDP/IPv6 sockets closed
                 123 TCP/IPv4 sockets closed
                   1 UDP/IPv4 socket bind failures
                  63 UDP/IPv6 socket connect failures
                 849 UDP/IPv4 connections established
                 124 TCP/IPv4 connections accepted
                  63 UDP/IPv6 send errors
                   3 UDP/IPv4 recv errors
++ Per Zone Query Statistics ++
--- Statistics Dump --- (1275999954)

答案2

命令 ”rndc 统计数据“应该与最新版本的 BIND dns 兼容。

根据 DistroWatch 的说法,CentOS 5.5 附带了 Bind 9.3.4-P1。OP 可以使用“rpm -qa | grep bind”从命令行验证这一点。

答案3

AndyN 的“rndc stats”(如果你碰巧运行了 BIND)和 kaerast 的“dnstop”都是不错的建议。我补充差示扫描量热仪这是一个非常全面的 DNS 统计软件包。

答案4

警告:如果您的服务器繁忙,这会生成一些巨大的日志,请留意您的空间。

首先在您的 /etc/named.conf 中启用“查询”通道来获取日志;一个简洁的例子:

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

请注意,这将使 5 个版本(轮换日志)保持在 500 MB 左右——根据需要进行调整以捕获所需的数据量。现在您有了日志,请在 Google 上搜索“绑定查询统计信息”,以找到最符合您需求的工具或软件来找出相关数字。据我所知,支持 BIND v8 和 v9 格式的工具之一是http://www.logreport.org/

相关内容