有可能吗?我们完全控制我们的 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/。