修改bind源码,提供qps等更丰富的统计信息

来源:互联网 发布:mc4d软件下载 编辑:程序博客网 时间:2024/05/21 06:48

BIND本身提供非常丰富的统计信息,其中几个信息比如当前qps,成功率,或者查询类型是什么,没有统计,或者通过rndc 命令是无法获取的,有的时候这些信息对于查看当前服务器的状态有很大的帮助,所以hack了bind的源码,增加了这几个统计项。

统计项目: 每秒查询量(qps),解析成功率, 解析类型,解析结果。

BIND原版本:bind-9.10.0-p2 

编译要求: BIND 需要编译成多线程版本,即使用--enable-threads 选项。

使用方法:BIND启动后,即可通过rndc查询。查询命令格式如下

rndc -c rndc.conf key [view] [zone] 

key 主要有 qps, success_rate, rcode, rtype 

view 如果指定则表示查询此VIEW下的对应key信息。

zone 如果指定则表示查询在视图view 下的区对应的key 信息,目前版本只实现了对于zone的qps计算,并且需要在BIND的配置文件中指定zone-statistics yes; 

返回值 是字符串

用法举例

1 查询当前总的qps 

   rndc -c rndc.conf qps 

  返回值  qps 5000.000

2 查询当前default视图下的qps

  rndc -c rndc.conf qps default

  返回值 5000.00

3 查询区123.com在视图default下的qps

  rndc -c rndc.conf qps default 123.com

  返回值 qps 4000.00


源码和其他例子请参考 github

https://github.com/zhiyuan2007/bind-stats

地址:点击打开链接


liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf qps

qps 0.000000

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf qps 

qps 50.331657

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf qps default

qps 57.664764

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf qps default 1.com

qps 55.329811

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf success_rate 

success_rate 1.000000

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf success_rate default

success_rate 1.000000

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf rtype

A 5079 MX 10 AAAA 10

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf rtype default

A 5079 MX 10 AAAA 10

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf rcode

NOERROR 5079|NXDOMAIN 20

liuben@ubuntu:~/lgr/named/etc$ ~/lgr/bind-9.10.0-P2bak/bin/rndc/rndc -c rndc.conf rcode default

NOERROR 5079|NXDOMAIN 20


0 0
原创粉丝点击