次のエントリ: 絵文字のコード [携帯]
BINDの統計情報
2005-07-06-2 / カテゴリ: [linux][debian][bind] / [permlink]
# rndc statsこのコマンドで、/var/cache/bind/named.stats ファイルに
+++ Statistics Dump +++ (1120658402) success 10741 referral 0 nxrrset 1253 nxdomain 242898 recursion 6834 failure 23 --- Statistics Dump --- (1120658402)というファイルができる。
それぞれ
| success | 成功した問い合わせの数(参照先以外の応答を返したもの) |
| referral | 結果として参照先を返した問い合わせの件数。 |
| nxrrset | 要求されたタイプのレコードが定義されていないドメイン名に関する問い合わせの件数。 |
| nxdomain | 存在しないドメインネームを問い合わせた数。 |
| recursion | ゾーン内のドメイン名に関する再帰的問い合わせの内、ネームサーバが更に問い合わせをしなければいけなかった件数。 |
| failure | NXDOMAIN以外で失敗した問い合わせの数。 |
ということ。(DNS&BIND クックブックp115より引用)
で、再度実行すると、前回実行したファイルの末尾に追記され続けるので、前回実行時との差分を実行間隔(括弧内のepochの差分)で割れば、秒間の問い合わせ平均数がわかる。
けど、何行ものログから、末尾2件分のparseはなかなかメンドイので(ラスト1件分だけ取得して、RRDtoolなんかに差分計算させる手もあるけど)、うちでは、実行前にファイル退避・rndc stats 実行・差分計算・結果をRRDtoolに食わせる、という感じ。
crontab (実際は1行)
0 * * * * /bin/mv /var/cache/bind/named.stats /var/cache/bind/named.stats.bak;
/usr/sbin/rndc stats;
/root/bin/bindstat/bindstats.plx > /var/cache/bind/named.diff
bindstats.plx
#!/usr/bin/perl
my %logfile = ( new => "/var/cache/bind/named.stats",
old => "/var/cache/bind/named.stats.bak",
);
my %logstat;
foreach my $key (keys %logfile) {
open F, $logfile{$key} or die "cannot open $logfile{$key}: $!\n";
while (<F>) {
if (/^([a-z]+)\s(\d+)/) {
$logstat{$key}->{$1} = $2;
}
}
close F;
}
foreach my $item (sort keys %{$logstat{new}}) {
print $item, ": ", ($logstat{new}->{$item} - $logstat{old}->{$item}), "\n";
}
これで、前回実行時との差分値が named.diff に出るので
failure: 0 nxdomain: 451 nxrrset: 7 recursion: 94 referral: 0 success: 109このファイルの値を RRDtool につっこむ。

うーん、、、なんでこんなに名前解決にミスってんだろ^^;
[
コメント ]
次のエントリ: 絵文字のコード [携帯]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12
