apacheのログ解析ソフトであるAWStatsをバージョンアップさせました。5.0->5.9 いままで独自に日本語拡張された5.0を使っていたのですが、5.9の本体には手を入れずに前段でログの加工をして食わせるようにしました。また、以前はstaticに作成していたのですが、過去の月の解析も読めるように、CGI経由での読み出しにしました。ただし、ログの解析自体は日に一回のままにしています。CGIからも解析をupdateすることは可能ですが、あまり意味はないと思っています。
日本語表示はもともとできるのですが、日本語訳が変だったりするところを訂正、日本語はUTFで処理しているので、ログの検索キーをデコードするのにawstatsに入れる前に、
s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
Jcode->new($_)->utf8;
などの処理をしてから食わせることにしました。
これらの処理(ログの日本語処理、awstats、v6到着率のグラフ作成など)を組み合わせて日に一回apacheのログをrotationさせています。月一回で日ごとに分割されたログをまとめてgzipさせることもしています。