我们希望跟踪BIND 9 DNS服务器的缓存使用情况.有没有办法记录缓存命中和未命中?我们没有运气就尝试了BIND记录设施(频道,类别).此外,“rndc stats”仅提供有关缓存使用情况的部分信息.谢谢阅读.
解决方法
您正在寻找统计数据,因此您需要阅读BIND管理员参考手册在
BIND statistics上所说的内容.特别是:
There are currently two user interfaces to get access to the statistics. One is in the plain text format dumped to the file specified by the statistics-file configuration option. The other is remotely accessible via a statistics channel when the statistics-channels statement is specified in the configuration file (see the section called “statistics-channels Statement Grammar”.)
统计信息可以本地转储到文件系统,也可以通过统计信道通过HTTP公开.在后一种情况下,您可以通过解析XML或JSON,通过监视系统远程收集计数器.后一种方法绝对有用,但您需要确保HTTP套接字不会暴露给不受信任的来源.
statistics-channels { inet 127.0.0.1 port 5302 allow { 127.0.0.1; }; inet 192.0.2.1 port 5302 allow { mgt-acl; monitor-acl; }; };
在我的特定情况下,我编写了一个基于curl和jq的解析器,它接受感兴趣的JSON计数器并将它们转换为Zenoss理解的JSON格式.然后可以绘制计数器.以下是我通过暴露的RTT计数器绘制查询往返时间的示例: