記録の形式はWebサーバの種類で違っています。また設定を変えればさまざまな項目を記録することができますが、例えばApacheで基本となる「コモン(標準)形式」のログはこんな形をしています。
000.000.000.000 - - [17/May/2007:00:03:11 +0900] "GET /index.html HTTP/1.1" 200 1543
最初の項目が訪問者のIPアドレスで次に「-」が2つ並んでいますが、前の方がidentdの記録です。もし訪問者のマシンでidentdが動作していれば必要な識別子が記録されますが、普通動作していないので、ほとんどの場合「-」のままです。
2番目の「-」はサーバの認証でIDを記録する場所です。「ID:ishii PW:123」と記入してログインしたら、ここに「ishii」と記載されます。ishiiという行だけ抜き出せば、ユーザishiiがどう行動したか全部わかるのです。
次の[ ]内がアクセス時刻です。
000.000.000.001 - - [17/May/2007:00:03:11 +0900] "GET /index.html
000.000.000.001 - - [17/May/2007:00:03:25 +0900] "GET /index2.html
ここを見ると同じ人が午前0時3分11秒にindex.htmlをリクエストし、午前0時3分25秒にindex2.htmlをリクエストした、ということがわかるわけです。この差をとれば、この人はindex.htmlを14秒間見ていた、と判断できます。
では、この人はindex2.htmlを何秒見ていたでしょうか。「ここではわからない」というのが正解です。各ページの滞在時間は次のリクエストの時刻との差でしか算出できないので、一番最後に見られたページは滞在時間を計算できないことになります。
そして次の「GET」がリクエストメソッドで、CGIなどにはPOSTでデータを送信する場合も多いです。その後の「/index.html」がリクエストされた(見られた)Webページです。厳密に言えば「リクエストされた」ということと、「表示された」ということはイコールではありません。存在しないURLがリクエストされた場合には、サーバは「Not Found」という反応を返します。
httpのバージョンを挟んで「200」という数字がありますが、これが「正常終了」を意味する数字です。「ステータス(状態表示)」と呼ばれるもので、数字そのものに意味があるのではなく、下記のように各状態に数字が割り当てられているだけです。
- 200:正常終了
- 304:キャッシュから表示
- 403:禁止(Forbidden)
- 404:ファイルが見つからない(Not Found)
- 405:メソッドが許可されていない
ログに関してこのような決まりがあれば、数字を記録するだけで、どんな結果だったかということがすぐにわかります。主にログの大半は200と304でできあがっています。ブラウザでWebサイトを見ていて一番目につくのは404です。もしログに404がたくさん記録されていたら、これはどこかにリンク切れがあるということなのですぐに調べて直しましょう。
/index.html HTTP/1.1" 200
/index2.html HTTP/1.1" 404
上記では「index.htmlに書かれているindex2.htmlへのリンクがリンク切れになっている」ということなので、index.htmlを見てリンクを正しく書き直します。
最近のWebサイトではCSSやJavaScriptの外部ファイルを多くリンクされていますが、全ページからリンクされているCSSなどがリンク切れを起こしていると、どのWebページが見られても舞台裏ではCSSに対して404が記録されることになります。
また403や405が繰り返された場合、存在しないWebページやメソッドを直接アクセスする怪しい訪問者ということになるでしょう。IPアドレスを確認して、プロバイダに注意を送る必要があるかもしれません。サーバを管理している立場からすると、これは大切な情報です。
ログの行の最後には「1543」という数字があります。これが「転送された容量」、つまりこの例ではindex.htmlのデータ量が1543バイトだったことがわかるのです。ステータスが304、つまりキャッシュから表示された場合には、どんなファイルがリクエストされていてもデータは転送されませんから、ここの記録は「-」となります。空のファイルが転送された場合には「0」となります。
また実際に転送が行われた量が問題です。短時間に膨大なデータが転送されていたら、パフォーマンスが落ちていたかもしれません。次のピーク時までにシステムを増強しないと、最悪サーバがダウンしまうかもしれません。ログではリクエスト時刻と転送容量が、サーバ管理上非常に重要なデータなのです。例えばAnalogなどのサーバ管理用ログ解析ツールでは、転送容量が最も重視されています。
|