AN HTTPD ゲストブック/コメント集(2003年9月18日07:40)


鷹の巣 webmaster@sakaguch.com 2003/09/20 11:22

Lunar-K pd5t-hys@asahi-net.or.jp 2003/09/18 07:40 さんへ

> Perlで書かれたアクセスログ集計ソフトであるAWStatsへの対応の関係で、
> 今までhttp://www.sakaguch.com/さんの所にあったAnWeb用のログ変換ツールを使っていたのですが、
> それを使うためにはIP-HOST変換されたログを使えないため、

ホスト名に変換済みのアクセスログでも、そのまま使用可能です。
AnWeb用のログ変換ツール(combined.pl)を使用しますと、IPアドレスで記録されたアクセスログファイル(httpd.xxxxxxxx.log)
は、ホスト名に変換した同名のアクセスログファイル(httpd.xxxxxxxx.log)に書き換えられます。
変換処理を中断しますと、中断した前日までのアクセスログファイルは、ホスト名に書き換わっています。

ホスト名で記録されている行(IPアドレスで記録されていない行)は、逆引きを行なわない様にしています。
同じアクセスログファイルに対して、ログ変換ツールを2回使用すると、2回目の処理時間は、短くなるようにしています。
また、同じログファイルに対して、ログ変換ツールを2回使用しても、2回目の処理時間が、極端に短くならないのは、
ホスト名に逆引き出来ないIPアドレスが存在し、この逆引きに再度、処理時間を多く取られるからです。

ホスト名への逆引きが必要ない場合は、
 perl combined.pl -year=%1 -month=%2 -logdir=%AWstatsLogDir% -outdir=%AWstatsOutDir% -conv_ipaddr =n -conv_combine=y
の様に-conv_ipaddr =y を-conv_ipaddr =n に変更しますと、全く逆引きを行なわなくなり、処理時間が短くなります。
説明不足で、大変、申し訳ありません。

> AWStatsでのログ集計時に全てにドメイン/国別訪問者の情報が欲しい場合、
> DNS逆引きをログに書かれた全てのIPアドレスに対して掛ける関係上、
> 集計にとてつもない時間を要する(鷹の巣さんの所で4時間半とかだそうです)ので、

2003年2月に4時間半かかって、1,229,969行を処理した時の逆引きを行なった重複しないIPアドレス数は、102,722でしたから、
逆引きに4時間使用したとして、1つのIPアドレスあたり140m秒を要したことになります。
http://sakaguch.com/log/2003/200302.html
# 重複しているIPアドレスの逆引きは、DNSレゾルバキャッシュがきくので、無視しています。
# perlのスクリプトで、キャッシュファイルを作成しなかった理由(手を抜いた理由)は、ここにあります。
# 尚、キャッシュファイルを作成する逆引き変換だけのperlのスクリプトは、AWStatsのツールの
# logresolvemerge.plにあります。

> サーバソフトであるAnWEB側での対応によってそれが相当緩和されはしないかと考えているわけですが…どうでしょう
> (AnWEBでは設定によってip-host変換してくれますから…)。

AN HTTPDの一般タブの設定で、「リモートホストを取得」を「常時」に設定しますと、
相当緩和されますが、Webサーバとしての一番大切な応答速度の低下を招きます。
# どんなWebサーバを使用しても応答速度は、低下します。体感速度は、1秒以上だと思います。

従って、Webサーバのログをホスト名で記録することは、本末転倒になってしまうのではと、危惧する次第です。
また、AWStats等のツールを使用したアクセスログ解析は、CGIを使用したリアルタイム値(速報値)である必要はないと考えています。
そのためにクライアント機で、ゆっくりHTMLファイルを作ることを目的としたWebページになっています。

追記)
以前にも書きましたが、小規模サイトにおいては、combinedログ形式の方が有難いです。生ログを見る場合に大変、助かります。


中田昭雄 nakata@st.rim.or.jp 2003/09/19 20:14

Lunar-K さん、
combined形式のログの要望は以前からあって、次のバージョンから対応予定です。


Lunar-K pd5t-hys@asahi-net.or.jp 2003/09/18 07:40

 で、要望の話になりますが……、AnHTTPdのログ形式の話になります。

 是非、W3Cログ形式や、Apache native combinedログ形式(NCSA Combined/XLF/ELF形式)への対応を検討していただきたいのですが、可能でしょうか?

 というのは、Perlで書かれたアクセスログ集計ソフトであるAWStatsへの対応の関係で、今までhttp://www.sakaguch.com/ さんの所にあったAnWeb用のログ変換ツールを使っていたのですが、それを使うためにはIP-HOST変換されたログを使えないため、AWStatsでのログ集計時に全てにドメイン/国別訪問者の情報が欲しい場合、DNS逆引きをログに書かれた全てのIPアドレスに対して掛ける関係上、集計にとてつもない時間を要する(鷹の巣さんの所で4時間半とかだそうです)ので、サーバソフトであるAnWEB側での対応によってそれが相当緩和されはしないかと考えているわけですが…どうでしょう(AnWEBでは設定によってip-host変換してくれますから…)。

 ログ形式に関する資料は、Ryuさんの翻訳した日本語版AWStats5.0の設定ファイルの46行目あたりからが参考になるかとおもいます。
(一応、以下URLに上記のもののコピーを置いておきます。EUCです。)
http://wirwelwind.no-ip.info/awstats.conf.txt

 どうかご検討を宜しくお願いいたします。