目次
このマニュアルについて
第 1 章 iPlanet Web Server の基礎知識
第 2 章 iPlanet Web Server の管理
第 3 章 管理プリファレンスの設定
第 4 章 ユーザとグループの管理
第 5 章 サーバ セキュリティ
第 6 章 サーバ クラスタの管理
第 7 章 サーバのプリファレンスの設定
第 8 章 ログ ファイルの理解
第 9 章 SNMP によるサーバのモニタ
第 10 章 サーバの設定によるパフォーマンス チューニング
第 11 章 プログラムによるサーバの拡張
第 12 章 コンフィグレーション スタイルの操作
第 13 章 サーバのコンテンツ管理
第 14 章 サーバへのアクセスの制御
第 15 章 Web パブリッシングの設定
第 16 章 検索機能の使用
付録 A HTTP (HyperText Transfer Protocol)
付録 B ACL ファイルのシンタックス
付録 C 国際化 iPlanet Web Server
付録 D Microsoft FrontPage のサーバ拡張機能
付録 E iPlanet Web Server
用語集
索引
戻る 次へ 目次 索引 ブックシェルフ


第 8 章 ログ ファイルの理解

サーバの状態を監視する方法はいくつかあります。Hypertext Transfer Protocol (HTTP) や Simple Network Management Protocol (SNMP) を使うと、リアルタイムにサーバのステータスをモニタすることができます。この章では、ログ ファイルを記録し表示することによってサーバをモニタする方法と、ご使用のオペレーティング システムにあるパフォーマンス モニタ ツールを使ってモニタする方法について説明します。

この章には次の節があります。


ログ ファイルについて
サーバ ログ ファイルは、サーバの状態を記録するものです。 これらのログを使ってサーバをモニタし、トラブルシューティングの際に役立てることができます。サーバ ルート ディレクトリ内の https-servername/logs/errors にあるエラー ログ ファイルには、それまでにサーバで発生したエラーがすべてリストされています。サーバ ルート ディレクトリ内の https-servername/logs/access にあるアクセス ログには、サーバへのリクエストとサーバからのレスポンスに関する情報が記録されています。 iPlanet Web Server access ログ ファイル内に記録される情報を設定したり、ログ アナライザを使ってサーバ統計を生成したりすることができます。また、保管することによりサーバ エラーやアクセス ログ ファイルをバックアップすることができます。


アクセス ログ ファイルの表示
サーバのアクティブなアクセス ログ ファイルや保管されたアクセス ログ ファイルを表示することができます。

Administration Server から Administration Server のアクセス ログ ファイルを表示するには、 [Preferences] タブを選択し、「View Access Log」ページを選択します。

サーバ マネージャからアクセス ログを表示するには、[Status] タブを選択し、「View Access Log」ページを選択します。

次の例は、共通ログファイル形式 によるアクセス ログを示しています ([Log Preferences] ウィンドウで形式を選択します。詳細については、ログ プリファレンスの設定を参照してください)。

wiley.a.com - - [16/Feb/1999:21:18:26 -0800] "GET / HTTP/1.0" 200 751
wiley.a.com - - [17/Feb/1999:1:04:38 -0800] "GET /docs/grafx/icon.gif HTTP/1.0" 204 342
wiley.a.com - - [20/Feb/1999:4:36:53 -0800] "GET /help HTTP/1.0" 401 571
arrow.a.com - john [29/Mar/1999:4:36:53 -0800] "GET /help HTTP/1.0" 401 571

表 8.1は、このサンプル アクセス ログの最後の行について説明したものです。

表 8.1 サンプル アクセス ログの最終行内のフィールド
アクセス ログ フィールド

クライアントのホスト名または IP アドレス
arrow.a.com (このケースでは、Web サーバの DNS 照合の設定が有効になっているので、ホスト名が表示されています。DNS 照合が無効の場合は、クライアントの IP アドレスが表示されます。)
RFC 931 情報
- (RFC 931 ID は実装されていません。)
ユーザ名
john (認証のためにクライアントによって入力されたユーザ名)
リクエストの日時
29/Mar/1999:4:36:53 -0800
リクエスト
GET /help
プロトコル
HTTP/1.0
ステータス コード
401
送信バイト数の合計
571

次の例は、フレキシブル ログファイル形式を使ったアクセス ログを示しています ([Log Preferences] ウィンドウで形式を選択します。詳細については、ログ プリファレンスの設定を参照してください) 。

wiley.a.com - - [25/Mar/1999:12:55:26 -0800] "GET /index.htm HTTP/1.0" "GET" "/?-" "HTTP/    1.0" 304 0 - Mozilla/2.0 (WinNT; I)
wiley.a.com - - [25/Mar/1999:12:55:26 -0800] "GET / HTTP/1.0" "GET" "/?-" "HTTP/1.0" 304 0    - Mozilla/2.0 (WinNT; I)
wiley.a.com - - [25/Mar/1999:12:55:26 -0800] "GET / HTTP/1.0" "GET" "/?-" "HTTP/1.0" 304 0    - Mozilla/2.0 (X11; I; IRIX 5.3 IP22)


エラー ログ ファイルの表示
エラー ログ ファイルには、ログ ファイルの作成以降にサーバに発生したエラーや、サーバが起動された時間などのサーバに関する情報メッセージも記録されています。また、失敗したユーザ認証もエラー ログに記録されています。このエラー ログを使って、壊れた URL パスや紛失したファイルを探すことができます。

Administration Server のエラー ログ ファイルを表示するには、Administration Server から [Preferences] タブを選択し、「View Error Log」ページ (Administration Server)を選択します。

サーバ マネージャからサーバのエラー ログを表示するには、[Status] タブを選択し、「View Error Log」ページを選択します。

次の例は、Unix/Linux のエラー ログを示しています。

[13/Feb/1999:16:56:51] info: successful server startup
[20/Mar/1999 19:08:52] warning: for host wiley.a.com trying to GET /report.html,     appendtrailer reports: error opening /usr/netscape/server4/docs/report.html (No such file or directory)

次の例は、Windows NT のエラー ログを示しています。

[13/Feb/1996:16:56:51] info: successful server startup
[20/Mar/1996 19:08:52] warning: for host wiley.a.com trying to GET /report.html,     appendtrailer reports: error opening C:/Netscape/Server4/docs/report.html     (ERROR_FILE_NOT_FOUND)

これらの例では、最初の行は「サーバが起動した」という情報メッセージを、2 行目のログ エントリは、クライアント wiley.a.com がファイル report.html を要求したが、ファイルがサーバ上のプライマリ ドキュメント ディレクトリに存在しなかったことをそれぞれ示しています。


HTTP を使ったサーバのモニタ
対話型サーバ モニタを使ってサーバの使用状況をモニタすることができます。サーバが処理しているリクエストの数や、それらのリクエストの処理状況などを見ることができます。対話型サーバ モニタによって、サーバが多量のリクエストを処理していることがレポートされた場合、サーバ設定またはシステムのネットワーク カーネルを調整して、リクエストに応じる必要があることがあります。図 8.1は対話型サーバ モニタです。

対話型サーバ モニタが合計をレポートするさまざまなサーバ統計の説明に関しては、オンライン ヘルプの 「Monitor Current Activity」ページを参照してください。

サーバをモニタするには、「Monitor Current Activity」ページからモニタ プログラムを起動します。

図 8.1    対話型サーバ モニタ


ログ ファイルの保管
ログ ファイルが自動的に保管されるように設定することができます。指定した時刻や指定した間隔後にログがローテートされます。 iPlanet Web Server では、古いログ ファイルを保存し、それらに保存された日時を含む名前をスタンプします。たとえば、アクセス ログ ファイルを毎時間ローテートし、ファイル名を、ログ ファイル名、年、月、日、時刻が 1 つの文字列になった"access.199907152400" とするように設定することができます。 アクセス ログ アーカイブ ファイルの実際の形式は、設定するログ ローテーションのタイプにより異なります。

iPlanet Web Server では、ファイルの保管に関する Internal-daemon log rotationとCron-based log rotation の 2 つのタイプのログ ローテーションがあります。

Internal-daemon Log Rotation
このタイプのログ ローテーションは、HTTP デーモン内で起こるもので、スタートアップ時だけ設定可能です。 Internal daemon log rotation により、サーバは再起動することなくログを内部でローテートすることができます。この方法でローテートされたログは次の形式で保存されます。

access.<4 桁の年><2 桁の月><2 桁の日><4 桁の時間>

ログ ファイルをローテートし、新しいログ ファイルを開始するための基準となる時刻を指定することができます。たとえば、ローテーションの開始が 12:00 a.m. で、ローテーションの間隔が 1440 分 (1日) の場合、そのときの時刻に関係なく、保存時に新しいログ ファイルが作成され、ローテーション開始時間まで情報を収集します。ログ ファイルは毎日 12:00 a.m. にローテートされ、アクセス ログは 12:00 a.m. にスタンプされ、access.199907152400 として保存されます。同様に、間隔を 240 分 (4 時間) と設定し、この 4 時間の間隔が 12:00 a.m. にスタートするように設定すると、アクセス ログ ファイルには 12:00 a.m. から 4:00 a.m. まで、4:00 a.m. から8:00 a.m. までというように収集された情報が収められます。

アクセス ログ ローテーションが有効になっていると、ログ ファイル ローテーションはサーバ起動時に開始します。ローテートされる最初のアクセス ログ ファイルは、その時点から次のローテーション時刻までの情報を収集します。以前の例を使って、開始時間を 12:00 a.m. に、間隔を 240 分に設定し、現在の時刻を 6:00 a.m. と仮定すると、ローテートされる最初のログ ファイルには 6:00 a.m. から 8:00 a.m まで、次のログ ファイルには、 8:00 a.m. から 12:00 p.m. (正午) まで、というように収集された情報が収められます。

Cron-based Log Rotation
このタイプのログ ローテーションは、server_root/https-admserv/config/ ディレクトリの cron.conf ファイルに保存された時刻に基づいています。この方法を使うと、ログ ファイルをすぐに保管したり、または特定の日の特定の時刻に保管することができます。サーバの cron 設定オプションは、server_root/https-admserv/config/ ディレクトリの ns-cron.conf に保存されています。cron ベースの方法を使ってローテートされたログは、元のファイル名にファイルがローテートされた日時が添付された形式で保存されます。たとえば、4:30 p.m. にローテートされた access というファイルは、access.24Apr-0430PM になります。cron コントロールの詳細については、Cron 制御の使用 (Unix/Linux)を参照してください。

ログ ローテーションはサーバの起動時に開始されます。 ローテーションがオンになっていると、iPlanet Web Server によりタイム スタンプが付いたアクセス ログ ファイルが作成され、ローテーションはサーバの起動時に開始されます。

ローテーションの開始後に、アクセス ログ ファイルに記録する必要のあるリクエストがあり、これがあらかじめ予定されている "次回のローテート時刻" 後に起きた場合、iPlanet Web Server により新しいタイム スタンプのログ ファイルが作成されます。

ノート ログ アナライザを実行する前に、サーバ ログを保管する必要があります。

ログ ファイルを保管し、内部デーモン方法または cron ベースを使うように指定するには、サーバ マネージャ内の「Archive Log Files」ページを使います。


ログ プリファレンスの設定
インストール時に、サーバ用に access という名前のアクセス ログ ファイルが作成されます。 アクセスをログするかどうか、ログにどの形式を使うか、クライアントがリソースにアクセスした場合に、サーバにそのクライアントのドメイン名を照合させるかどうか、などを指定することにより、あらゆるリソースのアクセス ログをカスタマイズすることができます。

サーバ アクセス ログの形式には、共通ログファイル形式、 フレキシブル ログ形式、またはカスタマイズ可能な形式を使うことができます。 共通ログファイル形式は、サーバに関する固定された量の情報を提供する一般的にサポートされている形式です。 フレキシブル ログファイル形式を使うと、(iPlanet Web Server から) 記録する対象を選択することができます。カスタマイズ可能な形式では、何をログするかを制御するために指定するパラメータ ブロックが使われます。カスタマイズ可能な形式のパラメータのリストについては、『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

リソースのアクセス ログが作成されると、それを保管するか、またはそのリソースに対して新しいアクセス ログ ファイルを作成しない限り、その形式を変更することはできません。

サーバ マネージャの 「Log Preferences」ページを使うか、または obj.conf ファイル内の次のディレクティブを手作業で設定することにより、ログ プリファレンスを指定することができます。 obj.conf では、サーバは関数 flex-init を呼び出して、フレキシブル ログ システムを初期化し、関数 flex-log を呼び出してリクエスト特有のデータをフレキシブル ログ形式に記録します。共通ログ ファイル形式を使ってリクエストを記録するので、サーバは init-clf を呼び出して obj.conf で使われている共通ログ サブシステムを初期化し、 common-log を呼び出してリクエスト特有のデータを共通ログ形式 (ほとんどの HTTP サーバで使われている) で記録します。

有効なディレクティブやパラメータを含む、NSAPI ログ関数については、 『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

簡単な Cookie ログ
以前のバージョンの iPlanet Web Server では、特定の cookie の値を記録する場合は、クライアントから送信された"cookie" ヘッダからcookie の値を取得するプラグイン API を書き、その値を新しい変数としてリクエストの pblock に挿入し、その新しい変数を記録しなくてはなりませんでした。

iPlanet Web Server では、flexlog 機能を使って特定の cookie を簡単に記録することができます。 コンフィグレーション ファイル obj.conf 内の、felxlog サブシステムを初期化する行に "Req->headers.cookie.cookie_name" を追加します。 これは、リクエストのヘッダに cookie 変数がある場合に cookie 変数 cookie_name の値を記録し、ない場合は"-" を記録します。

ログの拡大
StatusContent-LengthClient-HostFull-RequestMethodProtocolQuery-StringURIRefererUser-AgentAuthorizationAuth-User などの標準的な変数以外の変数を記録すると好ましくない副作用があります。 他の変数は統計ファイル アクセラレータ キャッシュで提供することができないため、アクセラレータ キャッシュはまったく使われません。 よって、統計ファイルやイメージのような通常アクセラレータの恩恵を受けるリクエストのパフォーマンスはかなり劣化します。

iPlanet Web Server では、ログ サブシステムの必要条件を軽減しました。 obj.conf の "flex-init" 行に "relaxed.logname=true" を追加することにより、アクセラレータ キャッシュを使ったまま、標準セット以外の変数を記録することができるようになります。アクセラレータが使われると、使用できない変数は "-" と記録されます。サーバは CGI スクリプトや SHTML ページなどの動的な内容にアクセラレータを使わないので、これらのリクエストに対してすべての変数が常に正確に記録されます。


ログ バッファのフラッシュ
ログ バッファはすぐにフラッシュしたり、obj.conf 内の logbufInit 関数内でバッファ フラッシュを設定してデフォルト時以外のスケジュール時にフラッシュしたりすることができます。値は次のように 0 より大きいミリ秒となります。

int logbuf_init(pblock *args) {
char err[MAGNUS_ERROR_LEN];
char *t;

logbuf_size = 0;
logbuf_flush = DEFAULT_LOGBUF_FLUSH;
if((t = pblock_findval("buffer-size", args)) ) {
logbuf_size = atoi(t);
if(logbuf_size < 0) {
util_snprintf(err, MAGNUS_ERROR_LEN, "buffer size of %d is invalid", logbuf_size);
pblock_nvinsert("error", err, args);
return REQ_ABORTED;
}
if(logbuf_size < (REQ_MAX_LINE * 2))
logbuf_size = REQ_MAX_LINE * 2;
}
if( (t = ("buffer-flush", args)) ) {
logbuf_flush = atoi(t) * 1000;
if(logbuf_flush < 0) {
util_snprintf(err, MAGNUS_ERROR_LEN,"flush rate of %d seconds is invalid", logbuf_flush);
pblock_nvinsert("error", err, args);
return REQ_ABORTED;
}
}
}
return REQ_PROCEED;
}


ログ アナライザの実行
server-install/extras/log_anly ディレクトリには、サーバ マネージャを介して実行されるログ アナライザ ツールがあります。このログ アナライザは、共通ログ形式のファイルのみ解析します。log_anly ディレクトリには、ツールのパラメータについて記述されている HTML ドキュメントが収められています。 server-install/extras/flex_anlg ディレクトリには、フレキシブル ログ ファイル形式用のコマンドライン ログ アナライザがあります。しかし、サーバ マネージャは、ユーザの選択に関係なく、デフォルトではフレキシブル ログ ファイル レポーティング ツールを使います。

ログ アナライザを使って、状態のサマリー、最も頻繁にアクセスされる URL、サーバが最も頻繁にアクセスされる時間などサーバに関する統計を生成することができます。ログ アナライザは、iPlanet Web Server からでもコマンド ラインからでも実行することができます。

ノート ログ アナライザを実行する前に、サーバ ログを保管する必要があります。サーバ ログを保管する方法については、 ログ ファイルの保管を参照してください。

次の節では、コマンド ラインからログ アナライザを実行する手順について説明します。サーバ マネージャからログ アナライザを実行するには、オンライン ヘルプの「Generate Report」ページを参照してください。

コマンド ラインからアクセス ログ ファイルを解析するには、server-install/extras/flex_anlg ディレクトリにある flexanlg ツールを実行します。

flexanlg を実行するには、 コマンド プロンプトに次のコマンドとオプションを入力します。

flexanlg [ -P ] [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [ o file][ c opts] [-t opts] [-l opts]

次はシンタックスの説明です (「flexanlg -h」と入力すると、オンラインでこの情報を表示することができます)。

-P: proxy log format Default: no
-n servername: The name of the server
-x : Output in HTML Default: no
-r : Resolve IP addresses to hostnames Default: no
-p [c,t,l]: Output order (counts, time stats, lists) Default: ctl
-i filename: Input log file(s) Default: none
-o filename: Output log file Default: stdout
-m filename: Meta file(s) Default: none
-c [h,n,r,f,e,u,o,k,c,z]: Count these item(s) - Default: hnreuokc
h: total hits
n: 304 Not Modified status codes (Use Local Copy)
r: 302 Found status codes (Redirects)
f: 404 Not Found status codes (Document Not Found)
e: 500 Server Error status codes (Misconfiguration)
u: total unique URL's
o: total unique hosts
k: total kilobytes transferred
c: total kilobytes saved by caches
z: Do not count any items.
-t [sx,mx,hx, xx,z]: Find general stats - Default:s5m5h24x10
s(number): Find top (number) seconds of log
m(number): Find top (number) minutes of log
h(number): Find top (number) hours of log
u(number): Find top (number) users of log
a(number): Find top (number) user agents of log
r(number): Find top (number) referers of log
x(number): Find top (number) for miscellaneous keywords
z: Do not find any general stats.
-l [cx,hx]: Make a list of - Default: c+3h5
c(x,+x): Most commonly accessed URLs
(x: Only list x entries)
(+x: Only list if accessed more than x times)
h(x,+x): Hosts (or IP addresses) most often accessing your server
(x: Only list x entries)
(+x: Only list if accessed more than x times)
z: Do not make any lists


パフォーマンス モニタ (Windows NT) の使用
サーバをモニタするもう 1 つの方法は、ご使用のコンピュータに関する情報をグラフィックで表示する Windows NT パフォーマンス モニタを使うことです。パフォーマンス モニタを使って、iPlanet Web Server に関するパフォーマンス データを表示することができます。

パフォーマンス モニタを使って iPlanet Web Server のパフォーマンスをモニタするには、次の手順を実行します。

  1. [スタート] メニューから [プログラム]、次に [管理ツール] を選択します。[管理ツール] から [パフォーマンス モニタ] を選択します。
  2. [編集] メニューから [グラフに追加] を選択します。
  3. モニタする iPlanet Web Server がリモート システム上にある場合は、[コンピュータ] フィールドにその名前を入力します。
  4. [オブジェクト] プルダウン メニューから [Netscape Server] を選択します。
  5. モニタするインスタンスを選択します。
  6. グラフに表示するカウンタを選択します。
  7. カウンタの定義をオンラインで表示するには、[説明] をクリックします。

  8. [追加] をクリックします。
  9. 他のコンピュータやオブジェクトをモニタするには、モニタするそれぞれの対象について手順 1 〜 7 を繰り返します。
  10. [完了] をクリックします。
パフォーマンス モニタの詳細については、ご使用のオペレーティング システムのマニュアルを参照してください。


イベントの表示 (Windows NT)
サーバ エラー ログにエラーを記録するだけでなく(エラー ログ ファイルの表示を参照)、iPlanet Web Server は、サーバ システム エラーをイベント ビューアに記録します。イベント ビューアを使うと、システム上のイベントをモニタすることができます。イベント ビューアを使うと、エラー ログが開く前に発生する可能性がある基本的な設定上の問題から発生するエラーを調べることができます。

イベント ビューアを使うには、次の手順を実行します。

  1. [スタート] メニューから [プログラム]、次に [管理ツール] を選択します。[管理ツール] から [イベント ビューア] を選択します。
  2. [ログ] メニューから [アプリケーション] を選択します。
  3. [表示] メニューから [検索] を選択して、ログ内でこれらのラベルの 1 つを検索します。 [表示] メニューから [リフレッシュ] を選択してログ エントリを更新します。
イベント ビューアの詳細については、ご使用のオペレーティング システムのマニュアルを参照してください。

 

(C) Copyright (C) 2000 Sun Microsystems, Inc. Some preexisting portions Copyright (C) 2000 Netscape Communications Corp. All rights reserved.