![]()
アクセスログ解析 | Home | Index | Prev | 未完
アクセスログとは、閲覧者が Webサーバを訪れた際、HTTPヘッダにリクエストとそのレスポンスを「ログ:通信情報」として残された一連のテキスト・ドキュメントを指します。
生のアクセスログでは、訪問者の IPアドレス、訪問時間と滞在時間、訪問者の閲覧環境、どのページをアクセスしたか、どこからきたのか、どんなキーワードで検索したのか、発生したエラーなどの詳細を得ることができます。
制作者側でアクセスログを解析することによって、訪問した閲覧者の動向を知ることができます。それによって、制作者側は閲覧者の軌跡を分析し、何らかのアクションを明示することができます。
例えば、あるページの閲覧時間が短い場合には、そのコンテンツは閲覧者のニーズを満たしていないことを物語ります。逆に、そのページの滞在時間が長ければ、閲覧者が熱心にそこで示される情報を読んでいたことが伺えます。
特に検索サイトから訪問した場合、滞在時間の長さによっては、再度リピーターとして訪問してくれるか、あるいはブックマークしてくれる可能性が期待できます。
また、ページの読み込み途中で他に移動した場合は、そのページの容量が重いか、まったくつまらない、あるいは閲覧者が欲していた情報とはかけ離れていたことが理解できるでしょう。
特に商用サイトでは、アクセスログを参照し解析できなければ、いつまでたっても時代に取り残されていく運命を辿ることになりかねません。せっかく Webサーバに蓄積されるログが生成されるのですから、これを積極的に分析し、コンテンツに繁栄させることができなければ、WebMasterとは呼べません。
アクセスログの書式には2つの形式があります。
Common Log Format)Combind Log Format)コモンログ形式では、リンク元の URI を保存することができません。コンバインドログ形式では、コモンログ形式に加えて、リンク元を参照する 「Referer」 や、閲覧者の Webブラウザや OSの種類までを示す 「ユーザエージェント」 までが保存されます。最近の Webサーバでは、この形式が一般的によく用いられています。
以下のログは、コンバインドログ形式のサンプルを示したものです。この節では、以下の生のアクセスログについて説明します。
192.168.0.1 - [banban] [20/Feb/2004:00:12:11 +0900] "GET /banban/images/hana_02.jpg HTTP/1.1" 200 5853 "http://search.yahoo.co.jp/bin/search" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
1行目の最初の文字列 192.168.0.1 は、Webサーバにリクエストした閲覧者の IPアドレスを記録しています。
ただし、これだけでは閲覧者を特定できるものではありません。プロキシサーバや企業内の LANからアクセスした場合には、それぞれに割り当てられたグローバル IPアドレスが割り当てられ、ダイヤルアップや ADSL、CATVなどは、常に動的 IPアドレスが割り当てられるので、完全に個人を特定することはできません。
次の 「 - 」 は、閲覧者のマシン上で identd は使われていないため、その利用を不能と表わす 「 - 」 が記録されます。
[banban] は、ユーザ認証が必要なページにアクセスした場合、閲覧者が入力したユーザ IDが記録されます。認証が必要ない場合には、「 - 」 が記録されます。当サイトでは、認証が必要なページは1つもありません。念のため。
次の [20/Feb/2004:00:12:11 +0900] は、閲覧者からのリクエストに対して、その処理が終わった時刻を記録しています。基本的に時刻は、UTC (世界協定時間) が割り当てられるため、+0900 と付記しているのは、日本時間を表わしています。
2行目の最初の文字列 "GET /banban/index.html HTTP/1.1" は、閲覧者からの要求が記録されます。アクセスの対象がサイトのトップページに当たる index.html で、その際の通信プロトコルが HTTP 1.1 であることを示しています。
GET は、アクセス方法を示すものであり、ここでは GETメソッドによってそのデータを取得していることを表わしています。
次の 200 という数値は、サーバがブラウザのリクエストに対して送信する状態を表わす「ステータスコード」を示しています。
このステータスコードは、RFC2616 で規定されているもので、代表的なものはこのページの下段に一覧表があるので参考にしてください。
200 の隣にある 5853 という数字は、閲覧者のブラウザに返信したデータの転送量を表わし、その単位は「バイト数」となります。ここでは、5.85KB (キロバイト) が転送されたことを意味します。
"http://search.yahoo.co.jp/bin/search" という URI は、リンク元を表わし、現在のページの直前のページの URI が示されます。つまり、どこから来たのかという 「Referer:リファラー」 が保存されています。
最後の "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" は、閲覧者のユーザエージェントを参照しています。
ここでは、Windows2000 という OS で、MSIE (Microsoft Internet Explorer) 6.0 という Webブラウザであることを示しています。
このように、生のアクセスログだけでも、様々な情報を読み取ることができます。
生のアクセスログからの情報には限界があります。アクセスログをより深い部分まで解析するのには、それなりのソフトウェアが必要になります。滞在時間、検索キーワードはもちろん、時間別集計、ページ別集計、エラーリクエスト集計、ユーザエージェント別集計など、非常に多岐に渡る解析が可能になります。
以下は、代表的な生アクセスログ解析用ソフトウェアです。
Click Tracks アイ・エム・ジェイ 85,000円 (WindowsXP)alQ LogAnalyzer アイ・エス・ティ 49,000円 (Windows98/Me/NT/2000/XP)Web Trends Log Analyzer アイ・ティ・フロンティア 98,000円 (Windows2000/XP)ApacheLogViewer Circle氏 フリー (WindowsNT/2000)有料バージョンのソフトウェアでは、グラフィカルな解析ツールが用意されており、視覚的にアクセスログ解析が行えます。少々価格が高いのがネックですが、持っていて損のないソフトでしょう。
生のアクセスログを取得して解析するのは面倒だという場合には、あらかじめ Webサーバに解析ソフトをインストールしておけば、いつでもどんな場所でも Webブラウザからアクセスログを分析することが可能です。
サーバにインストールする場合には、それなりの知識とサーバをコントロールできる権限が必要です。また、ソフトウェアによっては多少の環境設定の変更が必要です。
CGIが使えない、あるいはアクセスログが取得できないような個人ベースの小規模サイトの場合には、一番手っ取り早く簡単なのが、Webページにスクリプトを埋め込んで、アクセスログ解析のサービスを利用する方法があります。
こうしたスクリプト埋め込み型のログ解析を、「ASPサービス」 と呼ばれ、無料あるいは有料のサービスが受けられます。ただし、無料版は広告が表示されたり、ログの保存期間が短い、利用できるページが少ないなどの欠点があります。
代表的な ASPサービスを提供しているサイトは以下のとおりです。
TOOLS 忍者システムズ 無料/初期費用1,200円 月額295円infoseekアクセス解析 楽天 無料/初期費用1,000円 月額250円Visionalist Web解析 デジタルフォレスト 月額50,000円比較的手軽に利用できるアクセスログ解析なので、個人で運営する場合には、本当にありがたいサービスなのではないでしょうか。最初のうちは無料版を使ってみて、気に入ったら多くのサービスが受けられる有料版に切り替える方法をお勧めします。
アクセスログに記録されるステータスコードは以下のとおりに規定されています。ここでは、代表的なステータスコードについて一覧表にまとめています。
| ステータスコード | 意味 | |
|---|---|---|
| 通知:infomation | ||
| 100 | Continue | 処理が進行中 |
| 101 | Switching Protocols | 異なるプロトコルに切り替える |
| 成功:Successful | ||
| 200 | OK | 処理が成功 |
| 201 | Create | 新しいリソースが生成された |
| 202 | Accepted | リクエストの処理はまだ完了していない |
| 203 | Non-Authoritative | 返信情報は当該サーバで作成したものでない |
| 204 | No Content | コンテンツがない |
| 205 | Reset Content | 現在の画面の取消を要求 |
| 206 | Partial Content | Partial GET の要求を受け入れた |
| 移動:Redirection | ||
| 300 | Multiple Choices | リクエストされたリソースが複数存在する |
| 301 | Moved Permanentry | リクエストされたリソースは恒久的に移動している |
| 302 | Found | リクエストされたリソースは一時的に移動している |
| 303 | See Other | リクエストされたリソースは違う URI に移動している |
| 304 | Not Modified | リクエストされたリソースは更新されていない |
| クライアントに起因するエラー:Client Error | ||
| 400 | Bad Request | リクエストの文法が間違っている |
| 401 | Unauthorized | ユーザ認証が必要 |
| 402 | Payment Required | 前もって予約が必要 |
| 403 | Forbidden | アクセスが拒否された |
| 404 | Not Found | リクエストしたページが存在しない |
| 406 | Not Acceptable | 受付できない |
| 408 | Request Timeout | 時間切れ |
| 409 | Conflict | リクエストとリソースが矛盾している |
| 410 | Gone | リソースが消滅している |
| サーバに起因するエラー:Server Error | ||
| 500 | Internal Server Error | サーバ内部のエラー |
| 501 | Not Implemnted | リクエストを処理する機能が未実装 |
| 502 | Bad Gateway | ゲートウェイが不正な要求を受け取った |
| 503 | Service Unavailable | サービスが停止中 |