DNSサーバー 名前解決問い合わせ数の監視設定方法について

お世話になっております。

今回DNSサーバーのQueryについて監視をしてみようと思い「Zabbix統合監視実践入門」を参考に設定してみました。

環境:
[Zabbixサーバー]
Zabbix 1.8.15
CentOS5.6

[Zabbix Proxyサーバー]
Zabbix proxy 1.8.16
CentOS6.5

[DNSサーバー]
Zabbix Agent 1.8.15
CentOS6.4

今回の環境ではDNSサーバー、Zabbixサーバーが別々のセグメントにある関係上、DNSサーバーの設置されているセグメントにZabbixProxyサーバーを配置し、
ZabbixProxyサーバー経由にてDNSサーバーとZabbixサーバーは通信しています。

「Zabbix統合監視実践入門」上のDNS Query数の監視についてrndc statsを利用してその情報から監視していますが次の点についてどなたかご教示頂ければと思います。
- 今回のDNSサーバーの環境ではchroot環境の為、zabbixユーザーからnamed_stats.txtファイルに容易に触る事が出来ません。
定期的にzabbixユーザーがアクセスできる場所にコピーする等、いくつか対応方法があるかと思いますがスマートな方法がありましたらご教示頂ければ幸いです。

よろしくお願い申し上げます。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

まる さん

rndc statsを実行し結果をawkで受け、zabbix_senderでZabbix送信するシェルをcronで動かしては?

もしくは

named_stats.txtをroot権限でcat & cutし、zabbix_senderrでZabbix送信するシェルをcronでも良いのでは? - 追記 2014/2/27 17:34

ユーザー まる の写真

KAZさん、

コメントありがとうございます。

想像はしておりましたが情報収集の部分はスクリプト単独で行うのが良いようですね。

検討してみます。

ご教示頂きありがとうございます。

ユーザー KAZ の写真

まる さん

dnsstats.plというものを見つけました。
named_stats.txtを分析して成功クエリ数と失敗クエリ数を取得してくれます。
※:perlが必要です。

で、dnsstats.plの↓に自分の環境のrndcの実行ファイルを指定して…
my $rndc = "/usr/local/sbin/rndc";

で、dnsstats.plの↓に自分の環境のnamed_stats.txtを指定して…
my $newstatfile = "/chroot/named/var/run/named.stats";

dnsstats.plの出力設定を下記のように修正すると…
編集前:print("$newsuccess \n$newfailure \n");
編集後:print("success $newsuccess \nfailure $newfailure \n");

こんな感じの結果が返ってきます。
]# perl ./dnsstats.pl
success 0
failure 0

と言うことで↓こんなユーザパラメータをzabbix_agentd.confに設定すれば成功クエリ数が取れます。
perl /ファイルの配置場所/dnsstats.pl|grep success|cut -f 2 -d' '

↓失敗クエリ数はこんな感じです。
perl /ファイルの配置場所/dnsstats.pl|grep failure |cut -f 2 -d' '

もちろん定期的にrndc statsが実行っされていることが前提です。

以下dnsstats.plのダウンロードサイトです。
https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rj...