Oracle HTTP Server 管理者ガイド
10g(10.1.3.1.0) B31847-01 |
|
この章では、Oracle Diagnostic Logging、ログの書式、各種ログ・ファイルおよびその場所について説明します。
内容は、次のとおりです。
該当する場合は、Apache Software Foundationのマニュアルを参照しています。
Oracleでは、診断メッセージの報告のために新しい方法を提供しています。この新しい方法はOracle Diagnostic Logging(ODL)と呼ばれ、診断メッセージとログ・ファイルのための共通書式と、Oracle Application Server全体の様々なコンポーネントからの全診断メッセージを相互に関係付ける仕組みを提供しています。ODLを使用して、各コンポーネントはそのコンポーネント専用のプライベート・ローカル・リポジトリにそれぞれのメッセージを記録します。LogLoader
というツールが、各リポジトリからメッセージを収集して共通リポジトリにロードします。メッセージは、この共通リポジトリで1つのログ・ストリームとして表示するか、様々な方法で分析することができます。
Oracle Application Serverの診断ログ・ファイルは、Application Server Controlコンソールまたはテキスト・エディタのいずれかを使用して表示できます。
ODLについては、次の項で詳しく説明します。
Oracle HTTP Serverでは、ログ・メッセージを生成する書式を選択できます。従来型のApacheメッセージ書式でログ・メッセージの生成を継続することも、ODLを使用してログ・メッセージを生成することもできます。ODLは、ログ・メッセージ生成用の新しいOracle標準に準拠しています。
Oracle HTTP ServerでODLを使用可能にするには、httpd.conf
ファイルに次のディレクティブを入力します。
モジュール固有のロギング重大度を有効にして初めてモジュールがロギングを実行できるように、これらのディレクティブは、httpd.conf
ファイルでモジュールがロードされる前に(LoadModule
ディレクティブの前に)指定することをお薦めします。
Oracleログ書式、従来型のApacheログ書式およびODLログ書式を切り替えることができます。ログ書式は次のように定義されています。
メッセージ重大度を設定できます。このディレクティブで指定されるメッセージ重大度は、必要最低限のメッセージ重大度として解釈され、この重大度レベル以上のすべてのメッセージが記録されます。
OraLogSeverity
は、複数回指定できます。グローバル(module_nameなし)に指定した後、モジュール固有のロギング重大度が必要なモジュール1つにつき1回ずつ指定できます。
このディレクティブは、OraLogMode
がoracleに設定されている場合にのみ使用します。このディレクティブは、LogLevel
ディレクティブのかわりに使用できますが、必要ではありません。OraLogSeverity
が指定されていて、OraLogMode
がoracleに設定されている場合は、LogLevel
は無視されます。
この引数は、モジュール構造内に示されるモジュールの内部名です。<IfModule
>ディレクティブもこの内部名を使用します。モジュール構造は、モジュール構造を定義するファイルの_FILE_
マクロの値から(パス接頭辞を削除して)モジュール名を導出します。モジュール名を指定しない場合は、OraLogSeverity
ディレクティブがグローバルに適用されます。
モジュール名を指定した場合は、指定されたモジュールで発生した、すべてのメッセージのグローバル・ディレクティブ値をこのディレクティブがオーバーライドします。ロードされないモジュールの名前を指定すると、エラーが発生します。
メッセージ・タイプは大文字でも小文字でも指定できますが、メッセージ出力は大文字で表示されます。このパラメータには、次の値のいずれかを指定する必要があります。
このパラメータは、1〜32の範囲の整数で、重大度は1が最も高く、32が最も低くなります。レベル1を使用すると、レベル32よりもメッセージが少なくなります。
OraLogSeverity
の例をいくつか表6-1に示します。
メッセージ・レベルを指定しない場合、レベルはデフォルトの最低重大度になります。ディレクティブ全体を指定しない場合、グローバルなApacheのLogLevel
ディレクティブの値が使用され、表6-2に示すように、これに対応するOracleメッセージ・タイプおよび対応する範囲内の最低レベル(最高値)に変換されます。
Apacheログ・レベル | Oracleメッセージ・タイプ |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
すべてのログ・ファイルを含むディレクトリへのパスを指定します。このディレクトリは存在している必要があります。
デフォルト:
表6-3は、LogLevel
ディレクティブの様々なロギング・レベル、それらの説明およびメッセージの例を示しています。
この後の項で説明するログ・ファイルは、次のとおりです。
中程度にビジーなサーバー上では、既存のログを移動または削除して、ログ・ファイルを定期的に切り替えることが重要です。この場合、新規ログ・ファイルがオープンされるように、ログ・ファイルを移動または削除した後にサーバーを再起動する必要があります。
サーバーによって処理されたすべてのリクエストを記録します。アクセス・ログの場所と内容は、CustomLogディレクティブで制御します。LogFormat
ディレクティブを使用すると、ログの内容を簡単に選択できます。
LogFormat
を使用して、ログ・ファイルに含める情報と書込み方法を指定します。デフォルトの書式はCommon Log Format(CLF)です。CLF書式は、host ident authuser date request status bytesのようになります。
host
: クライアントのドメイン名またはIPアドレス。
ident
: IdentityCheck
が有効で、クライアント・マシンによりidentd
が実行されている場合のクライアント識別情報。
authuser
: 許可されたユーザーのユーザーID。
date
: <day/month/year:hour:minute:second>
書式のリクエスト日時。
request
: 二重引用符で囲まれたクライアントからのリクエスト行。
status
: クライアントに戻される3桁のステータス・コード。
bytes
: ヘッダーを除き、クライアントに返されるバイト数。サーバーへのログ・リクエスト。ログ書式が指定され、環境変数を使用して、リクエストの特性に応じてオプションでロギングを行えます。
サーバーは診断情報を送信し、エラー・メッセージをログ・ファイルに記録します。デフォルトでは、このファイルは次の場所にあります。
ORACLE_HOME
/Apache/Apache/logs/error_log
ORACLE_HOME
¥Apache¥Apache¥logs¥error_log
ファイル名は、ErrorLogディレクティブを使用して設定できます。
サーバーを起動すると、親httpdプロセスのプロセスIDがPIDファイルに記録されます。このファイルは、デフォルトでは次の場所にあります。
ORACLE_HOME
/Apache/Apache/logs/httpd.pid
ORACLE_HOME
¥Apache¥Apache¥logs¥httpd.pid
このファイル名は、PidFileディレクティブを使用して変更できます。管理者は、プロセスIDをデーモンの再起動と終了に使用します。プロセスが異常終了(または中断)した場合は、子httpdプロセスを中断する必要があります。
Oracle HTTP Serverには、エラー・ログとアクセス・ログをファイルに直接書き込むのではなく、別のプロセスへのパイプを介してファイルに書き込む機能が用意されています。これによりロギングの柔軟性が高まるため、メイン・サーバーにコードを追加する必要はありません。ログをパイプに書き込むには、ファイル名を縦線「|」で置き換え、続けて標準入力でログ入力を受け入れる実行可能ファイルの名前を指定します。Oracle HTTP Serverはサーバーの起動時にパイプされたログ・プロセスを開始し、サーバーの実行中にクラッシュすると再開します。
パイプされたログ・プロセスは親Oracle HTTP Server httpdプロセスにより作成され、そのプロセスのユーザーIDを継承します。つまり、通常、パイプされたログ・プログラムはroot
で実行されるため、プログラムを単純かつ安全な状態に保つ必要があります。
mod_rewriteが使用されている場合のデバッグに必要です。このログ・ファイルでは、リライト・エンジンによるリクエストの変換方法の詳細分析が生成されます。詳細レベルは、RewriteLogLevel
ディレクティブを使用して制御します。
CGIスクリプトからの入出力を記録できます。このファイルはテストにのみ使用し、稼働中のサーバーには使用しないでください。
Oracle HTTP ServerをSSLモードで起動すると、ssl_engine_log
およびssl_request_log
が次の場所に作成されます。
ssl_engine_log
ではSSLとプロトコルの問題が追跡され、ssl_request_log
ではユーザー・アクティビティが記録されます。出力の制御にはSSLLogFile
ディレクティブを使用します。
サイトへのアクセス・ログが格納されているファイルを指定します。送信ログをconf
ファイルに明示的に含めないと、ログは生成されません。通常、サーバーでは、各リクエストが送信ファイルに記録されます。このファイルは、デフォルトで次の場所にあります。
ORACLE_HOME
/Apache/Apache/logs/access_log
ORACLE_HOME
¥Apache¥Apache¥logs¥access_log
ファイル名は、CustomLog
ディレクティブを使用して設定できます。
|
![]() Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|