[Up] [Next] [Previous]

ログの管理と解析

NCSA WWWサーバソフトウェアには、次のログファイルが記録されます。
access_log
サーバの書類やスクリプト等にアクセスしたログ
error_log
エラーログ
refer_log
どのURLから参照してきたかを示すログ
user_agent_log
アクセスしてきたWWWブラウザのソフトウェア種別ログ
access_logファイルは自分のWWWサーバーのどの書類がいつどこからア クセスされたかを示すログであるため、自分のWWWサーバーの使用状況を表す ログと言えます。WWWサーバーをアナウンスした後に、世界中のどこからかア クセスされると思います。ログを残しておく事によって、どのような事に関心 事項があるのかを知ることができ、サーバーの書類更新にも意欲が湧いてくる と思います。また、まとめておけば、会社での評価を得るための貴重な資料と もなるでしょう。

このaccess_logファイルは次のようなフォーマットになっています。 このフォーマットはCERNやPlexus WWWサーバーや多くのGopherサーバーでサポー トされています。

host rfc931 authuser date-time request status bytes
host
アクセスしてきたホスト名、ホスト名がわからなければ、IPアドレス になります。
rfc931
httpd.confIdentityCheckを使用している場合で、 相手がRFC931プロトコルを使ってアクセスしてきた場合にユーザ名が 表示されます。IndentityCheckを使用していない場合は、ダッ シュ(-)が書き込まれます。
authuser
ユーザ認証のアクセス制限をしていた場合(ユーザ名とパスワードを要 求)、ユーザ名が書き込まれます。その他はダッシュ(-)が書 き込まれます。
date-time
要求があった時間で、サーバ側の時間を使用します。最後にGMTとの差 が書き込まれます。
request
クライアントによって送られた要求です。ここにアクセスされたHTML 書類などが書き込まれます。
status
HTTP/1.0 の状態コードです。
bytes
送信されたバイト数です。ここにはヘッダは含まれません。
ログは放置しておけば、たまり続けることになり、ディスクを圧迫させてしま います。ログを週おき程度にまとめながら、ログ解析を行うようにしておくと 整理に便利です。次のスクリプトはログを週おきに別のファイル名に変更し、 圧縮しておきます。このスクリプトをcronで定期的に実行させます。

#!/bin/sh
cd /usr/local/etc/httpd/logs
rm access_log.4.gz
mv access_log.3.gz access_log.4.gz
mv access_log.2.gz access_log.3.gz
mv access_log.1.gz access_log.2.gz
mv access_log access_log.1
gzip -9 access_log.1
kill -HUP `cat httpd.pid`

ログの解析ツール

先程の access_logファイルを解析するプログラムを4つ紹介します。
getstats
getstatsはWWWサーバーのログを解析するためのプログラ ムでC言語で書かれています。

wwwstat
wwwstat は Perl で記述されています。ログの解析結果は HTMLファイルとしてまとめられます。また、データファイルを gwstat で処理することにより、グラフチャートにするこ とができます。もちろん、GIFフォーマットで出力してくれます。

wusage
wusageThomas Boutellによって 開発され、週別にログファイルを解析し、GIFフォーマットで結果をグ ラフ化します。

accesswatch
accesswatchは毎日実行することによって、その日のWWWア クセス状況を一目で知る事ができる非常に便利なツールです。しかも、 高速に結果を出力します。入手するには登録が必要です。


[Up] [Next] [Previous]