ヘッダーをスキップ

Oracle HTTP Server スタンドアロン・デプロイの管理Apache 2.0ベース
10g(10.1.3.1.0)

B31848-02
目次
目次
索引
索引

戻る 次へ

5 サーバー・ログの構成と使用

この章では、Oracle Diagnostic Logging、ログの書式、各種ログ・ファイルおよびその位置について説明します。

内容は、次のとおりです。

該当する場合は、Apache Software Foundationのマニュアルを参照しています。

5.1 Oracle Diagnostic Loggingの使用

Oracleでは、診断メッセージの報告のために新しい方法を提供しています。この新しい方法はOracle Diagnostic Logging(ODL)と呼ばれ、診断メッセージとログ・ファイルのための共通形式と、Oracle Application Server全体の様々なコンポーネントからの全診断メッセージを相互に関係付ける仕組みを提供しています。ODLを使用して、各コンポーネントはそのコンポーネント専用のプライベート・ローカル・リポジトリにそれぞれのメッセージをロギングします。LogLoaderというツールが、各リポジトリからメッセージを収集して共通リポジトリにロードします。メッセージは、この共通リポジトリで1つのログ・ストリームとして表示するか、様々な方法で分析することができます。

Oracle Application Serverの診断ログ・ファイルは、テキスト・エディタを使用して表示できます。

関連資料

『Oracle Application Server管理者ガイド』 

ODLについては、次の項で詳しく説明します。

5.1.1 概要

Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。従来型のApacheメッセージ形式でログ・メッセージを生成するか、ODLを使用してログ・メッセージの生成を続行できます。ODLは、ログ・メッセージ生成用の新しいOracle標準に準拠しています。

5.1.2 Oracle HTTP Serverの構成

Oracle HTTP ServerでODLを使用可能にするには、httpd.confファイルに次のディレクティブを入力します。

モジュール固有のログ重大度が有効化してからモジュールがロギングを実行するように、これらのディレクティブは、httpd.confファイルでなんらかのモジュールがロードされる前に(LoadModuleディレクティブの前に)指定することをお薦めします。

5.1.2.1 OraLogMode oracle | odl | apache

Oracleログ書式、従来型のApacheログ書式およびODLログ書式を切り替えることができます。ログ書式は次のように定義されています。

5.1.2.2 OraLogSeverity module_name <msg_type>{:msg_level]

メッセージ重大度を設定できます。このディレクティブで指定されるメッセージ重大度は、必要最低限のメッセージ重大度として解釈され、この重大度レベル以上のすべてのメッセージはロギングされます。

OraLogSeverityは、複数回指定できます。グローバル(module_nameなし)に指定した後、モジュール固有のログ重大度が必要なモジュール1つにつき1回ずつ指定できます。

このディレクティブは、OraLogModeがoracleに設定されているときにのみ使用されます。このディレクティブは、LogLevelディレクティブのかわりに使用できますが、必須ではありません。OraLogSeverityが指定され、OraLogModeがoracleに設定されている場合、LogLevelは無視されます。

5.1.2.2.1 module_name

この引数は、モジュール構造内に示されるモジュールの内部名です。<IfModule>ディレクティブもこの内部名を使用します。モジュール構造は、モジュール構造を定義するファイルの_FILE_マクロの値から(パス接頭辞を削除して)モジュール名を導出します。モジュール名を指定しない場合は、OraLogSeverityディレクティブがグローバルに適用されます。

モジュール名を指定した場合は、指定されたモジュールで発生した、すべてのメッセージのグローバル・ディレクティブの値をこのディレクティブがオーバーライドします。ロードされないモジュールの名前を指定すると、エラーが発生します。

5.1.2.2.2 msg_type

メッセージ・タイプは大文字でも小文字でも指定できますが、メッセージ出力は大文字で表示されます。このパラメータには、次の値のいずれかを指定する必要があります。

5.1.2.2.3 msg_level

このパラメータは、範囲が1〜32の整数に指定する必要があります。1は最高重大度、32は最低重大度を示します。レベル1を使用すると、レベル32よりメッセージが少なくなります。

表5-1に、OraLogSeverityの例をいくつか示します。

表5-1    OraLogSeverityの例 
OraLogSeverityの例  処理 

OraLogSeverity INTERNAL_ERROR:10 

レベル1〜10の内部エラー(INTERNAL_ERROR)タイプのメッセージをすべてロギングします。 

OraLogSeverity WARNING:7 

全レベルの内部エラー(INTERNAL_ERROR)タイプのメッセージをすべてロギングします。

全レベルのエラー(ERROR)タイプのメッセージをすべてロギングします。

レベル1〜7の警告(WARNING)タイプのメッセージをすべてロギングします。 

OraLogSeverity WARNING

OraLogSeverity mod_oc4j.c NOTIFICATION:4 

メッセージ・ソースがmod_oc4jの場合:

  • 全レベルの内部エラー(INTERNAL_ERROR)タイプのメッセージをすべてロギングします。

  • 全レベルのエラー(ERROR)タイプのメッセージをすべてロギングします。

  • 全レベルの警告(WARNING)タイプのメッセージをすべてロギングします。

  • レベル1〜4の通知(NOTIFICATION)タイプのメッセージをすべてロギングします。

その他のソースからのメッセージの場合:

  • 全レベルの内部エラー(INTERNAL_ERROR)タイプのメッセージをすべてロギングします。

  • 全レベルのエラー(ERROR)タイプのメッセージをすべてロギングします。

  • 全レベルの警告(WARNING)タイプのメッセージをすべてロギングします。

 
5.1.2.2.4 デフォルト

メッセージ・レベルを指定しない場合、レベルはデフォルトの最低重大度になります。ディレクティブ全体を指定しない場合、グローバルなApacheのLogLevelディレクティブの値が使用され、表5-2に示されるように、これに対応するOracleメッセージ・タイプおよび対応する範囲内の最低レベル(最高値)に変換されます。

表5-2    Apacheログ・レベルとOracleメッセージ・タイプの対応 
Apacheログ・レベル  Oracleメッセージ・タイプ 

emerg 

INTERNAL_ERROR:16  

alert 

INTERNAL_ERROR:32 

crit 

ERROR:16 

error 

ERROR:32 

warn 

WARNING:32 

notice 

NOTIFICATION:16 

info 

NOTIFICATION:32  

debug 

TRACE:32 

関連項目

「ログ・レベルの指定」 

5.1.2.3 OraLogDir <bus stop dir>

すべてのログ・ファイルを含むディレクトリへのパスを指定します。このディレクトリは存在している必要があります。

デフォルト:

5.2 ログ・レベルの指定

表5-3に、様々なロギング・レベル、説明およびメッセージの例を示します。

表5-3    ロギング・レベル 
ロギング・レベル  説明  メッセージの例 

emerg 

緊急: システムは使用不可です。 

"Child cannot open lock file.Exiting." 

alert 

ただちに処理する必要があります。 

"getpwuid: couldn't determine user name from uid" 

crit 

クリティカル条件。 

"socket: Failed to get a socket, exiting child" 

error 

エラー条件。 

"Premature end of script headers" 

warn 

警告条件。 

"child process 1234 did not exit, sending another SIGHUP

notice 

正常だが重要な条件。 

"httpd: caught SIGBUS, attempting to dump core in..." 

info 

情報メッセージ。 

"Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..." 

debug 

デバッグ・レベルのメッセージ。 

"Opening config file..." 


注意

LogLevelディレクティブは、OraLogModeがoracleで、OraLogSeverityが設定されている場合、省略できます。 


5.3 ログ・ファイルの指定

この項では、次のログ・ファイルの機能と位置について説明します。

中程度にビジーなサーバー上では、既存のログを移動または削除して、ログ・ファイルを定期的に切り替えることが重要です。この場合、新規ログ・ファイルがオープンされるように、ログ・ファイルを移動または削除した後にサーバーを再起動する必要があります。

関連資料

Apache Serverマニュアルの「Log Rotation」 

5.3.1 アクセス・ログ

サーバーによって処理されたすべてのリクエストが記録されます。アクセス・ログの位置と内容は、カスタム・ログ・ディレクティブで制御します。LogFormatディレクティブを使用すると、ログの内容を簡単に選択できます。

5.3.1.1 LogFormatの指定

LogFormatを使用して、ログ・ファイルに含める情報と書込み方法を指定します。デフォルトの書式はCommon Log Format(CLF)です。CLF書式はhost ident authuser date request status bytesです。

5.3.2 カスタム・ログ

CustomLogディレクティブは、サーバーへのリクエストをロギングするために使用されます。ログ書式が指定され、環境変数を使用して、リクエストの特性に応じてオプションでロギングできます。

関連資料

Apache Serverマニュアルの「CustomLog directive」 

5.3.3 エラー・ログ

診断情報を送信し、エラー・メッセージをログ・ファイルに記録します。デフォルトでは、このファイルは次の場所にあります。

ファイル名は、ErrorLogディレクティブを使用して設定できます。

関連資料

Apache Serverマニュアルの「ErrorLog directive」 

5.3.4 PIDファイル

サーバーを起動すると、親httpdプロセスのプロセスIDがPIDファイルに記録されます。このファイルは、デフォルトでは次の場所にあります。

このファイル名は、PidFileディレクティブを使用して変更できます。管理者は、プロセスIDをデーモンの再起動と終了に使用します。プロセスが異常終了(または中断)した場合は、子httpdプロセスを中断する必要があります。

関連資料

Apache Serverマニュアルの「Pid File」 

5.3.5 パイプされたログ

Oracle HTTP Serverには、エラー・ログとアクセス・ログをファイルに直接書き込むのではなく、別のプロセスへのパイプを介してファイルに書き込む機能が用意されています。これによりロギングの柔軟性が高まるため、メイン・サーバーにコードを追加する必要はありません。ログをパイプに書き込むには、ファイル名を縦線「|」で置き換え、続けて標準入力でログ入力を受け入れる実行可能ファイルの名前を指定します。Oracle HTTP Serverはサーバーの起動時にパイプされたログ・プロセスを開始し、サーバーの実行中にクラッシュすると再開します。

パイプされたログ・プロセスはOracle HTTP Serverの親httpdプロセスにより作成され、そのプロセスのユーザーIDを継承します。つまり、通常、パイプされたログ・プログラムはrootで実行されるため、プログラムを単純かつ安全な状態に保つ必要があります。

関連資料

Apache Serverマニュアルの「Piped Log」 

5.3.6 リライト・ログ

リライト・ログは、mod_rewriteを使用する場合のデバッグに必要です。このログ・ファイルでは、リライト・エンジンによるリクエストの変換方法の詳細分析が生成されます。詳細レベルは、RewriteLogLevelディレクティブを使用して制御します。

関連資料

Apache Serverマニュアルの「Rewrite Log」 

5.3.7 スクリプト・ログ

CGIスクリプトからの入出力を記録できます。このファイルはテストにのみ使用し、稼働中のサーバーには使用しないでください。

関連資料

Apache Serverマニュアルの「Script Log」 

5.3.8 SSLログ

Oracle HTTP ServerをSSLモードで起動すると、ssl_engine_logおよびssl_request_logが次の場所に作成されます。

ssl_engine_logではSSLとプロトコルの問題が追跡され、ssl_request_logではユーザー・アクティビティが記録されます。出力の制御にはSSLLogFileディレクティブを使用します。

関連項目

第8章「Oracle HTTP ServerでのSSLの有効化」 

5.3.9 送信ログ

サイトへのアクセス・ログが格納されているファイルが指定されます。送信ログをconfファイルに明示的に含めないと、ログは生成されません。通常、サーバーでは、各リクエストが送信ファイルに記録されます。このファイルは、デフォルトで次の場所にあります。

ファイル名は、CustomLogディレクティブを使用して設定できます。


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引