Linux mrtgでbindのクエリー推移を出力

2015年2月 8日 | Linux | コメント (0)

mrtgでbindのクエリー数の推移を表示する方法は、いくつかのサイトで見ることができます。

例えば → 実用 BIND 9で作るDNSサーバ(10):BIND 9の運用情報収集と分析方法 (2/2) - @IT

rndcコマンドで「rndc stats」としたときのsuccessとfailureをdnsstats.plを使って、グラフ化するものです。

CentOS5だとこの方法が使えるのですが、CentOS6はいつまでも0です。CentOS 5.11のBINDのバージョンが9.3.6、CentOS 6.6のBINDのバージョンが9.8.2です。どうやらBINDのバージョンが9.6移行の「rndc stats」の出力形式が異なるのが原因のようです。前のバージョンと同じ形式の出力にするために、いろいろ調べてみたのですが、設定ファイルの編集などでは対応できないようです。

BIND9.3.6の出力が

+++ Statistics Dump +++ (1423322807)
success 16524
referral 1
nxrrset 1690
nxdomain 3420
recursion 13345
failure 311
--- Statistics Dump --- (1423322807)

BIND9.8.2の出力が

+++ Statistics Dump +++ (1423221603)
++ Incoming Requests ++
                2382 QUERY
++ Incoming Queries ++
                 567 A
                1783 PTR
                   8 TXT
                  24 AAAA
++ Outgoing Queries ++
[View: default]
                1190 A
                  68 NS
                 352 PTR
                   8 TXT
                  28 AAAA
[View: _bind]
++ Name Server Statistics ++
                2382 IPv4 requests received
                2358 responses sent
                2170 queries resulted in successful answer
                  88 queries resulted in authoritative answer
                2177 queries resulted in non authoritative answer
                   6 queries resulted in nxrrset
                  93 queries resulted in SERVFAIL
                  89 queries resulted in NXDOMAIN
                 559 queries caused recursion
                  24 duplicate queries received

と続いています。

そこで、下のサイトにあるbind96-stats-parse.plを利用します。
Monitoring BIND9 | packetmischief.ca

bind96-stats-parse.plを/root/mrtg/に置いたとします。

dnsstats.plの$newstatfileをこのあと変換するファイルを指定します。

my $newstatfile = "/root/mrtg/named_stats.txt";

system("$rndc", "stats");
の後ろに

system("/root/mrtg/bind96-stats-parse.pl < /var/named/data/named_stats.txt > /root/mrtg/named_stats.txt");

と追記します。

if (($foundsuccess == 0) && ($line =~ /^success (\d+)/)) {

if (($foundsuccess == 0) && ($line =~ /^name_server_statistics:queries_resulted_in_successful_answer=(\d+)/)) {

と変更。

if (($foundfailure == 0) && ($line =~ /^failure (\d+)/)) {

if (($foundfailure == 0) && ($line =~ /^name_server_statistics:queries_resulted_in_servfail=(\d+)/)) {

と変更。

このdnsstats.plを/etc/mrtg/mrtg.cfgに記述します。

### DNS Server monitor ###
Target[dns-server]: `/root/mrtg/dnsstats.pl`
Title[dns-server]: DNS Server monitor
PageTop[dns-server]: <H1>DNS Server monitor</H1>
Options[dns-server]: growright,noinfo,nopercent,unknaszero,perminute
#RouterUptime[dns-server]: public@192.168.0.1
MaxBytes[dns-server]: 32000
AbsMax[dns-server]: 64000
RRDRowCount[dns-server]: 3200
Colours[dns-server]: YELLOW #F9C000,RED #F90000,LIGHT YELLOW #FFFFBB,LIGHT RED #FF8080
ShortLegend[dns-server]:queries/m
YLegend[dns-server]: Qs per Minute
Legend1[dns-server]: Queries received over 1 minute
Legend2[dns-server]: Failed Queries received over 1 minute
Legend3[dns-server]: Maximal Queries over 5 minutes
Legend4[dns-server]: Maximal Failed Queries over 5 minutes
LegendI[dns-server]: &nbsp;Queries:&nbsp;
LegendO[dns-server]: &nbsp;Failures:&nbsp;

以上の設定で、無事にグラフの出力ができました。

[746 Viewd (RSS: 144)] [Edit]
記事情報
  • 投稿日:
  • 更新日:
リンクソース
■記事用リンクソース:

■Wiki用リンクソース(PukiWiki):

■Wiki用リンクソース(MediaWiki):

■短縮URL:
コメントの追加









名前、アドレスをブラウザに記憶させますか?


※投稿には、名前とメールアドレスが必要です。
※メールアドレスは、表示されません。
※コメントにはタグは使えません。
※コメント中のURLは自動的にクリッカブルに変換します。





画像の中に見える文字を入力してください。



同カテゴリの人気記事
マイブログアンテナ
Feeds
EarlGrey Tearoom
メアド
counter
Powered by Movable Type