一、DNS统计计数器
Bind9可以使用rndc stats 命令将相关DNS统计信息存储到工作目录下,默认位置在:
statistics-file "/var/named/data/named_stats.txt";
每当名称服务器执行rndc stats命令,都会统计在统计信息文件最后附加一段新的统计信息(该段内容介于“++++++statistics dump++++++”和 “++++++ statistics dump+++++++”之间)。
各种统计类型说明
Incoming Requests | 对进入所有opcode标志位请求数目 |
Incoming Queries | 对每个资源记录类型的进入查询数目 |
Outgoing Queries | 从内部解析器向外发出的每个资源记录类型的查询数目。 |
Name Server Statistics | 关于名称服务器处理请求统计计数 |
Zone Maintenance Statistics | 区域维护统计计数 |
Resolver Statistics | 内部解析器解析的统计计数 |
Cache DB RRsets | 存放在缓存数据库中的每种资源记录类型的资源记录(肯定与否)在不存在的名字的数目。 |
需要对不同类型的统计计数重点关注,参考官方文档,这里不一一说明解释:
https://bind9.readthedocs.io/en/latest/reference.html#bind-9-statistics
二、接入zabbix监控
从网上找了个已做好的zabbix监控模板,以下面这个为例:
escapegamesystem/Zabbix-Bind9-Statistics-Collection - Zabbix-Bind9-Statistics-Collection - EscapeGame System GIT
1、先启用dns的statistics-channels参数,在主配置文件中/etc/named.conf 中配置通道计数HTTP远程访问
statistics-channels {
inet 127.0.0.1 port 8653 allow { 127.0.0.1; };
};
2、 客户端zabbix配置
userparameter_bind.conf 配置复制到/etc/zabbix/zabbix_agentd.d/下
bind-stats.py调用的python脚本复制到 /usr/local/bin/ 下然后重启服务 systemctl restart zabbix-agent
3、配置zabbix前端,导入模板,并关联到目标DNS服务主机
三、展示效果
模板自动发现的规则,会生成比较多的监控项,也可根据生产情况需要做缩减,没必要监控到所有。
There are many things that can not be broken!
如果觉得本文对你有帮助,欢迎点赞、收藏、评论!