(2005-07の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2005-07-06 Wed (他の年の同じ日: 2004 2007)
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 につっこむ。
うーん、、、なんでこんなに名前解決にミスってんだろ^^;
rdfには最後のカテゴリ名だけ表示
2005-07-06-1 / カテゴリ: [perl][programming][changelog][chalow] / [permlink]
[2005-06-14-2]でカテゴリ名を RSS フィードに表示するようにしたけど、カテゴリの数が多いと(こんな使い方余りいない??)、Firefox のライブブックマークでの非表示部分が多くなってしまう。
ので、記述しているカテゴリ名のうち、最後の1個だけを表示するように修正
前回の状態からは
スゲー見にくいけど、要は
先頭がよければ、0 で良い(未確認)
ので、記述しているカテゴリ名のうち、最後の1個だけを表示するように修正
前回の状態からは
--- chalow.20050706 2005-06-29 19:40:01.000000000 +0900 +++ chalow 2005-07-06 17:55:49.000000000 +0900 @@ -1102,7 +1102,7 @@ push @items, { permlink => $permlink, - itemheader => html2xmlstr("[".join("][", @{$all_entries{$ymd}{$i}{cat}})."]".$all_entries{$ymd}{$i}{h}), + itemheader => html2xmlstr("[" . $all_entries{$ymd}{$i}{cat}[$#{$all_entries{$ymd}{$i}{cat}}] . "]" . $all_entries{$ymd}{$i}{h}), itemauthor => $all_entries{$ymd}{$i}{a}, itemcontent => $cont, itemcontentencoded => $coen,てな感じで。
スゲー見にくいけど、要は
$array[$#array]で、配列最後の要素をとってるだけ。
先頭がよければ、0 で良い(未確認)
Referrer (Inside):
[2006-07-30-1]
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