9 Oracle HTTP Serverログの管理

Oracle HTTP Serverログの管理には、サーバー・ログの構成、エラーの原因とその修正アクションの表示などが含まれます。

Oracle HTTP Serverでは、すべてのタイプのイベントを記録したメッセージが含まれるログ・ファイルが生成されます。これには、起動と停止の情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報、および追加情報が含まれます。

この章の内容は次のとおりです。

サーバー・ログの概要

Oracle HTTP Serverには、エラー・ログとアクセス・ログの2つのタイプのサーバー・ログがあります。エラー・ログ・ファイルにはサーバーの問題が記録され、アクセス・ログ・ファイルにはアクセスされているコンポーネントおよびアプリケーションの詳細と誰によるものかが記録されます。

Oracle Fusion Middlewareのログ・ファイルは、Fusion Middleware Controlまたはテキスト・エディタのいずれかを使用して表示できます。Oracle HTTP Serverのログ・ファイルは、次のディレクトリに存在します。

ORACLE_HOME/user_projects/domains/<base_domain>/servers/componentName/logs

この項には次の情報が含まれます:

エラー・ログについて

Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。レガシーのApache HTTP Serverメッセージ形式でログ・メッセージを生成するか、エラー・ログ・メッセージ生成用のOracle標準に準拠するOracle Diagnostic Logging (ODL)を使用してテキストまたはXML形式のログにログ・メッセージを生成するかを選択できます。

デフォルトでは、Oracle HTTP Serverエラー・ログでは診断メッセージの生成用にODLが使用されます。これにより、すべての診断メッセージおよびログ・ファイルのための共通書式と、Oracle Fusion Middleware全体の様々なコンポーネントからの診断メッセージを相互に関係付ける仕組みが提供されます。

エラー・ログ・ファイルのデフォルト名は、instance_name.logです。

ノート:

ODLエラー・ロギングでは各仮想ホスト用に別個のログ・ファイルを持たせることはできません。グローバルにすべての仮想ホスト用に構成できるのみです。

アクセス・ログについて

アクセス・ログには、サーバーによって処理されたすべてのリクエストが記録されます。このログには、サーバーで処理されたすべてのHTTPトランザクションに関する基本情報が含まれます。アクセス・ログに含まれる情報は、次のとおりです。

  • ホスト名

  • リモート・ログ名

  • リモート・ユーザーおよび時間

  • リクエスト

  • レスポンス・コード

  • 転送バイト数

アクセス・ログ・ファイルのデフォルト名は、access_logです。

アクセス・ログの形式

管理者は、アクセス・ログに含める情報とその書込み方法を指定できます。デフォルトの形式は共通ログ形式(CLF)です。

LogFormat "%h %l %u %t %E \"%r\" %>s %b" common

CLF形式には、次のフィールドが含まれます。

host ident remote_logname remote_usre date  ECID request authuser status bytes
  • host: クライアントのドメイン名またはIPアドレスログにホスト・フィールドを指定するには、%hを使用します。

  • ident: IdentityCheckが有効で、クライアント・システムによりidentdが実行されている場合のクライアントのアイデンティティ情報。ログにクライアント・アイデンティティ・フィールドを指定するには、%iを使用します。

  • remote_logname: リモート・ログ名(提供された場合、identdから)。ログにリモート・ログ名を指定するには、%lを使用します。

  • remote_user: リクエストが認証された場合のリモート・ユーザー。ログにリモート・ユーザーを指定するには、%uを使用します。

  • date: day/month/year:hour:minute:second書式のリクエスト日時。ログに日時を指定するには、%tを使用します。

  • ECID: ECID情報を取得します。ログのECIDを取得するには、%Eを使用します。ECID情報用アクセス・ログの構成も参照してください。

  • request: 二重引用符で囲まれたクライアントからのリクエスト行ログにリクエストを指定するには、%rを使用します。

  • authuser: 認可ユーザーのユーザーID。ログに認可ユーザー・フィールドを指定するには、%aを使用します。

  • status: クライアントに戻される3桁のステータス・コードログにステータスを指定するには、%sを使用します。リクエストが別のサーバーから転送される場合、ログに最後のサーバーを指定するには、%>sを使用します。

  • bytes: ヘッダーを除き、クライアントに返されるバイト数ログにバイト数を指定するには、%bを使用します。ログにヘッダーを含めるには、%iを使用します。

関連項目:

Apache HTTP Serverドキュメントの「Access Log」

ログ・ローテーションの構成

Oracle HTTP Serverでは、サイズベースと時間ベースの2種類のログ・ローテーション・ポリシーをサポートしています。ORACLE_HOME/ohs/binにあるodl_rotatelogsを使用することで、2つのローテーション・ポリシーのいずれかを使用するようにOracle HTTP Serverログを構成することができます。デフォルトでは、Oracle HTTP Serverではエラー・ログとアクセス・ログの両方に対してodl_rotatelogsを使用します。

odl_rotatelogsは、Apache HTTP Serverのrotatelogsのすべての機能と、ログ保存の追加機能をサポートします。

rotatelogsによって提供される機能とオプションに関する情報は、次のURLで参照できます。

http://httpd.apache.org/docs/2.4/programs/rotatelogs.html

odl_rotatelogsの一般構文は次のとおりです。

odl_rotatelogs [-u:offset] logfile {size-|time-based-rotation-options}

odl_rotatelogsは、パイプ化されたログファイル機能で使用されます。この機能により、エラーおよびアクセス・ログ・ファイルが、ファイルに直接ではなく、別のプロセスへのパイプを通じて書き込むことができます。これによりロギングの柔軟性が高まるため、メイン・サーバーにコードを追加する必要はありません。ログをパイプに書き込むには、ファイル名を縦線「|」で置き換え、続けて標準入力でログ入力を受け入れる実行可能ファイルの名前を指定します。パイプ化されたログファイル機能の詳細は、次のURLを参照してください。

http://httpd.apache.org/docs/2.4/logs.html#piped

パイプ化されたログファイル機能とともに使用される、odl_rotatelogsの構文は次のようになります。

CustomLog " |${PRODUCT_HOME}/bin/odl_rotatelogs [-u:offset] logfile {size-|time-based-rotation-options}" log_format

odl_rotatelogsへの入力があるたびに、指定したローテーションの条件に合っているかがチェックされます。合っていれば、ファイルをローテーションします。合っていなければ、単にコンテンツに書き込みます。何も入力されていない場合は、何も起こりません。

表9-1にサイズベースおよび時間ベースのローテーションのオプションを示します。

表9-1 odl_rotatelogsのオプション

オプション 説明

-u

UTCからオフセットする時間(秒)。

logfile

ログ・ファイルのパスと名前、その後にハイフン(-)そしてタイムスタンプ・フォーマットが続きます。

次に一般的なタイムスタンプ・フォーマット文字列を示します。

  • %m: 2桁の数値で表される月(01-12)

  • %d: 2桁の数値で表される日(01-31)

  • %Y: 4桁の数値で表される年

  • %H: 2桁の数値で表される時刻(00-23)

  • %M: 2桁の数値で表される分(00-59)

  • %S: 2桁の数値で表される秒(00-59)

スラッシュを含むまで拡張されるフォーマットを含むことはできません。

frequency

ログ・ファイルのローテーションの間の時間(秒)。

retentionTime

ローテーションされたログ・ファイルが保存される最大時間。

startTime

時間ベースのローテーションが開始する時間。

maxFileSize

ログ・ファイルの最大サイズ(MB)。

allFileSize

保存されたファイルの合計サイズ(MB)。

時間ベースのローテーションの場合、odl_rotatelogsを使用したOracle HTTP Serverのログ・ローテーションは、デフォルトではUTC時間に従って計算されます。たとえば、ログ・ローテーションを86400 (24時間)に設定すると、UTCで真夜中の12:00になるたびにログがローテーションされます。Oracle HTTP Serverがインド標準時(IST)で実行されている場合、ISTはUTC+05:30であるので、ログは午前05:30にローテーションされます。

UTCオフセットに対して-uオプションを使用するかわりに、Apacheによって提供される-lオプションを使用することもできます。このオプションの場合、Oracle HTTP Serverでは間隔の基準としてローカル時間が使用されます。UTCオフセットを変更した環境(英国標準時(BST)またはサマータイム(DST)など)で-lオプションを使用すると、予測できない結果につながる可能性があります。

時間ベースとサイズベースのローテーションの構文と例

次の例で、時間ベースとサイズベースのログのローテーションを設定するodl_rotatelogsの構文を示します。

  • 時間ベースのローテーション

    構文:

    odl_rotatelogs -u:offset logfile frequency retentionTime startTime
    

    例:

    CustomLog "| odl_rotatelogs -u:-18000 /varlog/error.log-%Y-%m-%d 21600 172800 2014-03-10T08:30:00" common
    

    これは、UTC-05:00 (18000 秒、ニューヨークなど)の場所に対して実行されるログ・ローテーションを構成します。このローテーションは、2014年3月10日の午前8時30分から21600秒(6時間)ごとに実行され、ローテーションされたログ・ファイルを172800秒(2日)間保存するように指定します。ログの形式はcommonです。

    構文:

    odl_rotatelogs logfile frequency retentionTime startTime
    

    :

    CustomLog "| odl_rotatelogs /varlog/error.log-%Y-%m-%d 21600 172800 2014-03-10T08:30:00" common
    

    これは、2014年3月10日の午前8時30分から21600秒(6時間)ごとにログ・ローテーションを実行するように構成し、ローテーションされたログ・ファイルを172800秒(2日)間保存するように指定します。ログの形式はcommonです。

  • サイズベースのローテーション

    構文:

    odl_rotatelogs logfile maxFileSize allFileSize
    

    :

    これは、ログ・ファイルのサイズが10 MBに達するとログ・ローテーションを実行するように構成し、ローテーションされたすべてのログ・ファイルの最大サイズを70 MBと指定します(最大7個のログ・ファイル(=70/10)が保存されます)。ログの形式はcommonです。

    CustomLog "| odl_rotatelogs /var/log/error.log-%Y-%m-%d 10M 70M" common

Oracle HTTP Serverログの構成

Fusion Middleware Controlを使用してエラー・ログとアクセス・ログを構成できます。

次の各項では、「ログ構成」ページから設定できるログ・タスクについて説明します。

Fusion Middleware Controlを使用したエラー・ログの構成

Fusion Middleware Controlの「ログ構成」ページでエラー・ログを構成します。Fusion Middleware Controlを使用してOracle HTTP Serverのエラー・ログを構成するには、次の手順を実行します。

  1. Oracle HTTP Serverのホームページに移動します。
  2. 「管理」メニューから「ログ構成」を選択します。

    「ログ構成」ページが表示されます。

  3. このページでは、次のエラー・ログ構成タスクを設定します:
エラー・ログの形式および場所の構成

Fusion Middleware Controlの「ログ構成」ページでエラー・ログの形式および場所を変更できます。デフォルトで、Oracle HTTP Serverはエラー・ログ形式としてODL-Textを使用し、DOMAIN_HOME/servers/component_name/logsディレクトリ内にcomponent_name.logという名前のログ・ファイルを作成します。別の形式またはログ場所を使用するには、次の手順を実行します。

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
  2. 目的のファイル形式を選択します。
    • ODL-Text: この形式の診断メッセージはOracle標準に準拠しており、テキスト形式で書き込まれます。

    • Apache: この形式の診断メッセージはレガシーのApache HTTP Serverメッセージ形式に準拠しています。

  3. 「ログ・ファイル/ディレクトリ」フィールドにエラー・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。
  4. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
  5. Oracle HTTP Serverを再起動します。Oracle HTTP Serverインスタンスの再起動を参照してください。
エラー・ログ・レベルの構成

ログ・ファイルに書き込まれる情報の量とタイプは、メッセージのタイプおよびレベルを指定することによって構成できます。Oracle HTTP Serverのエラー・ログ・レベルは、デフォルトで「WARNING:32」に構成されています。別のエラー・ログ・レベルを使用するには、次の手順を実行します。

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
  2. 「レベル」メニューからロギングのレベルを選択します。ロギング・レベルが高くなると、ログに含まれる情報も増加します。
  3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
  4. Oracle HTTP Serverを再起動します。Oracle HTTP Serverインスタンスの再起動を参照してください。

ノート:

Apache HTTP Serverログ形式用とODL-Text形式用のログ・レベルは異なります。

エラー・ログのローテーション・ポリシーの構成

エラー・ログのログ・ローテーション・ポリシーは、1週間に1回などの時間ベース、または120MBなどのサイズベースで設定します。デフォルトでは、エラー・ログ・ファイルは10MBに達するとローテーションされます。また、最大で7個のエラー・ログ・ファイルが保持されます。別のローテーション・ポリシーを使用するには、次の手順を実行します。

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
  2. ローテーション・ポリシーを選択します。
    • ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

    • サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。

    • 時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。

  3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
  4. Oracle HTTP Serverを再起動します。Oracle HTTP Serverインスタンスの再起動を参照してください。

Fusion Middleware Controlを使用したアクセス・ログの構成

Fusion Middleware Controlの「ログ構成」ページから、Oracle HTTP Server用のアクセス・ログの形式および場所を構成できます。

このページからは、次のアクセス・ログ構成タスクを設定できます。

アクセス・ログ形式の構成

ログ形式は、アクセス・ログに含める情報とその書込み方法を指定するものです。新規のアクセス・ログ形式を追加したり、既存の形式を編集または削除するには、次の手順を実行します。

  1. Oracle HTTP Serverのホームページに移動します。
  2. 「管理」メニューから「ログ構成」を選択します。
  3. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。
  4. 「ログ形式の管理」をクリックします。

    カスタム・アクセス・ログ形式の管理ページが表示されます。

  5. 既存の形式を選択して変更または削除するか、「行の追加」をクリックして新規形式を作成します。
  6. 新しいフォーマットを作成する場合には、「ログ形式名」フィールドに新しいログ・フォーマットを入力し、「ログ形式パターン」フィールドにログ・フォーマットを入力します。

    ログ形式ディレクティブの詳細は、Apache HTTP Serverのドキュメントを参照してください。

  7. 「OK」をクリックして新規形式を保存します。
アクセス・ログ・ファイルの構成

Fusion Middleware Controlの「アクセス・ログの作成」または「アクセス・ログの編集」ページでアクセス・ログのローテーション・ポリシーを構成できます。Oracle HTTP Serverのアクセス・ログ・ファイルを構成するには、次の手順を実行します。

  1. Oracle HTTP Serverのホームページに移動します。
  2. 「管理」メニューから「ログ構成」を選択します。
  3. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。
  4. 新規のアクセス・ログを作成する場合は、「作成」をクリックします。既存のアクセス・ログ・ファイルを編集する場合は、表から行を選択して「編集」ボタンをクリックします。

    アクセス・ログの作成または編集ページが表示されます。

  5. 「ログ・ファイル・パス」フィールドにアクセス・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。
  6. 「ログ形式」メニューから既存のアクセス・ログ形式を選択します。
  7. ローテーション・ポリシーを選択します。
    • ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

    • サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。

    • 時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。

  8. 「OK」をクリックして継続します。

    複数のアクセス・ログ・ファイルを作成できます。

ログ・ファイルの作成モードの構成(umask) (UNIX/Linuxのみ)

Oracle HTTP Serverインスタンスを起動する前に、デフォルトのファイル・モード作成マスク(umask)の値を設定します。umaskに設定する値により、エラー・ログ、アクセス・ログなどの、Oracle HTTP Serverインスタンスにより作成されるファイルのアクセス権が決まります。umaskが明示的に設定されていない場合、デフォルトで0027の値が使用されます。

この項には次の情報が含まれます:

スタンドアロン・ドメインでのOracle HTTP Serverインスタンス用のumaskの構成

スタンドアロン・ドメインでデフォルトのファイル・モード作成マスクを構成するには、ステージング場所のohs.plugins.nodemanager.propertiesファイルのumaskプロパティを設定します。

DOMAIN_HOME/config/fmwconfig/components/OHS/instanceName/ohs.plugins.nodemanager.properties

WebLogic Server管理対象ドメインでのOracle HTTP Serverインスタンス用のumaskの構成

WebLogic Server(Full-JRFまたはRestricted-JRFのいずれか)ドメインでデフォルトのファイル・モード作成マスクを構成するには、次のステップに従います。

  1. ドメインのAdminServerおよびNodeManagerを起動します。たとえば:
    <Domain_HOME>/bin/startWebLogic.sh &
    <DOMAIN_HOME>/bin/startNodeManager.sh &
      
  2. WLSTを起動してAdminServerに接続します。
    <ORACLE_HOME>/oracle_common/bin/wlst.sh
    connect('<userName', <'password'>, <'adminServerURL'>
      
  3. 次のMBeanに移動します。このMBeanのObjectNameはOracle HTTP Serverインスタンスの名前に依存することに注意してください。この例では、Oracle HTTP Serverインスタンスの名前はohs1です
    editCustom()
    cd('oracle.ohs')
    cd('oracle.ohs:OHSInstance=ohs1,component=OHS,type=OHSInstance.NMProp')
    
  4. umaskの値を必要な値に設定します。
    startEdit()
    set('Umask','0022')
    
  5. 変更を保存してアクティブ化します。
    save()
    activate() 

WLSTを使用したログ・レベルの構成

WLSTコマンドを使用して、エラー・ログの冗長度を制御する、LogLevelディレクティブを設定できます。

LogLevelディレクティブの詳細は、Apacheのドキュメント(http://httpd.apache.org/docs/current/mod/core.html#loglevel)を参照してください

次のステップに従い、WLSTコマンドを使用してLogLevelディレクティブを設定します。

  1. WLSTを起動します。
    $ORACLE_HOME/oracle_common/common/bin/wlst.sh
    
  2. 管理サーバーに接続します。
    connect('<user-name>', '<password>','<host>:<port>')
    
  3. editCustom()コマンドを使用して、oracle.ohs MBeanのルートに移動します。WLSTがAdministration Serverに接続されている場合にかぎり、editCustom()コマンドを使用できます。cdを使用して管理オブジェクトの階層をナビゲートします。この場合、oracle.ohsの下のohs1です。startEdit()コマンドを使用して編集セッションを開始します。
    editCustom()
    cd('oracle.ohs')
    cd('oracle.ohs:type=OHSInstance,name=ohs1')
    startEdit()
    
  4. setコマンドを使用してログ・レベル属性の値を設定します。次の例では、グローバル・ログ・レベルをtrace7に、モジュールのステータス・ログ・レベルをerrorに、モジュールのenvログ・レベルをwarn (警告)に設定します。
    set('LogLevel','trace7 status:error env:warn') 
    
  5. 変更を保存してアクティブ化します。この編集セッションと関連付られた編集ロックは、アクティブ化が完了すると解放されます。
    save()
    activate() 

Oracle HTTP Serverのログ・ディレクティブ

Oracle HTTP Serverは、診断メッセージを生成するためのOracle Diagnostic Logging (ODL)またはレガシーのApache HTTP Serverメッセージ形式のいずれかを使用するように構成できます。

次の項では、httpd.confファイル内のOracle HTTP Serverのエラー・ログおよびアクセス・ログに関連するディレクティブについて説明します。

Oracle Diagnostic Loggingディレクティブ

Oracle HTTP Serverはデフォルトで、診断メッセージの生成にOracle Diagnostic Logging (ODL)を使用します。ODLを使用したロギングを設定する場合、次のディレクティブを使用します。

OraLogMode

これにより、ログ・メッセージを生成する形式を選択できます。レガシーのApache HTTP Server形式またはODLテキスト形式でログ・メッセージを生成するように選択できます。

OraLogMode Apache | ODL-Text

デフォルト値: ODL-Text

たとえば: OraLogMode ODL-Text

ノート:

Apache HTTP Serverログ・ディレクティブのErrorLogおよびLogLevelは、OraLogModeApacheに設定されている場合のみ有効です。OraLogModeODL-Textに設定されている場合、ErrorLogおよびLogLevelディレクティブは無視されます。

OraLogDir

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

このディレクティブは、OraLogModeがODL-Textに設定されている場合にのみ使用されます。OraLogModeApacheに設定されている場合、OraLogDirは無視され、かわりにErrorLogが使用されます。

OraLogDir <path>

デフォルト値: ORACLE_INSTANCE/servers/componentName/logs

たとえば: OraLogDir /tmp/logs

OraLogSeverity

メッセージ重大度を設定できます。このディレクティブを使用して指定したメッセージ重大度は、必要な最低レベルのメッセージ重大度として解釈され、その重大度以上のメッセージはすべてログに記録されます。

このディレクティブは、OraLogModeODL-Textに設定されている場合にのみ使用されます。OraLogModeApacheに設定されている場合、OraLogSeverityは無視され、かわりにLogLevelが使用されます。次の構文で、short_module_identifierNameは末尾の_moduleが省略されたモジュール名です。

OraLogSeverity [short_module_identifierName] <msg_type>[:msg_level]

デフォルト値: WARNING:32

たとえば: OraLogSeverity mime NOTIFICATION:32

msg_type

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

  • INCIDENT_ERROR

  • ERROR

  • WARNING

  • NOTIFICATION

  • TRACE

msg_level

このパラメータは1から32の整数にする必要があります。重大度が最も高いのが1で、最も低いのが32です。レベル1を使用した方が、レベル32を使用した場合よりもメッセージが少なくなります。

OraLogRotationParams

エラー・ログ・ファイルのローテーション・ポリシーを選択できます。このディレクティブは、OraLogModeがODL-Textに設定されている場合にのみ使用されます。OraLogModeApacheに設定されている場合、OraLogRotationParamsは無視されます。

OraLogRotationParams <rotation_type> <rotation_policy>

デフォルト値: S 10:70

たとえば: OraLogRotationParams T 43200:604800 2009-05-08T10:53:29

rotation_type

このパラメータはS(サイズベースのローテーション)またはT(タイムベースのローテーション)のいずれかです。

rotation_policy

rotation_typeS(サイズベース)に設定されている場合は、rotation_policyパラメータを次のように設定します。

maxFileSize:allFilesSize (MB)

たとえば、10:70として構成した場合、エラー・ログ・ファイルが10MBに達するたびにローテーションが行われます。また、すべてのエラー・ログ・ファイルの合計として70MBが許可されます(最大で70/10=7個のエラー・ログ・ファイルが保存されます)。

rotation_typeがT(タイムベース)に設定されている場合は、rotation_policyパラメータを次のように設定します。

frequency(in sec) retentionTime(in sec) startTime(in YYYY-MM-DDThh:mm:ss)

たとえば、43200:604800 2009-05-08T10:53:29として構成した場合、エラー・ログは43200秒(12時間)ごとにローテーションが行われます。ローテーションされたログ・ファイルは、2009年5月5日の10時53分29秒から最大で604800秒(7日)間保存されます。

Apache HTTP Serverログ・ディレクティブ

Oracle HTTP Serverではデフォルトでエラー・ログにODLが使用されますが、エラー・ログ・メッセージがレガシーのApache HTTP Serverメッセージ形式で生成されるようにOraLogModeディレクティブをApacheに構成することもできます。この項では、次のディレクティブについて説明します。

ErrorLog

ErrorLogディレクティブは、サーバーにより検出されたエラーが書き込まれるファイル名を設定します。ファイルパスが絶対パスでない場合は、ServerRootからの相対パスであると想定されます。

このディレクティブは、OraLogModeApacheに設定されている場合にのみ使用されます。OraLogModeODL-Textに設定されている場合、ErrorLogは無視され、かわりにOraLogDirが使用されます。

関連項目:

Apache ErrorLogディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/core.html#errorlog

LogLevel

LogLevelディレクティブは、エラー・ログに記録されるメッセージの冗長性を調整します。

このディレクティブは、OraLogModeApacheに設定されている場合にのみ使用されます。OraLogModeODL-Textに設定されている場合、LogLevelは無視され、かわりにOraLogSeverityが使用されます。

関連項目:

Apache HTTP Server LogLevelディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/core.html#loglevel

LogFormat

LogFormatディレクティブは、アクセス・ログ・ファイルの形式を指定します。デフォルトでは、Oracle HTTP Serverには次の4つのアクセス・ログ形式が定義されています。

LogFormat "%h %l %u %t %E \"%r\" %>s %b" commonLogFormat "%h %l %u %t %E \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t %E \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

関連項目:

Apache HTTP Server LogFormatディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/mod_log_config.html#logformat

CustomLog

CustomLogディレクティブは、サーバーへのリクエストをログに記録する場合に使用します。ログ形式を指定し、オプションで環境変数を使用して、リクエストの特性に基づいてロギングを条件付きで実行することもできます。デフォルトでは、アクセス・ログ・ファイルは共通ログ形式を使用するように構成されています。

関連項目:

Apache CustomLogディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/mod_log_config.html#customlog

Oracle HTTP Serverログの表示

サーバー・ログは、Fusion Middleware Control、WLSTまたはテキスト・エディタを使用して確認できます。

Oracle HTTP Serverにはエラー・ログとアクセス・ログの主に2種類のログ・ファイルがあります。エラー・ログ・ファイルは、サーバーのパフォーマンスを良好に保つための重要な情報源です。エラー・ログには、システム管理者が問題を簡単に診断して修正できるように、問題の状況に関するすべての情報が記録されます。アクセス・ログ・ファイルには、サーバーが処理するあらゆるHTTPトランザクションの基本情報が含まれます。この情報を使用して、サーバーの使用状況パターンに関する統計レポートを生成できます。

エラー・ログおよびアクセス・ログの詳細は、サーバー・ログの概要を参照してください。

この項では、Oracle HTTP Serverログを表示する方法について説明します。

Fusion Middleware Controlを使用したログの表示

Oracle HTTP Serverインスタンスのログ・メッセージにアクセスするには:

  1. Oracle HTTP Serverのホームページに移動します。
  2. ログ・メッセージを表示するサーバー・インスタンスを選択します。
  3. 「Oracle HTTP Server」ドロップダウン・リストから、「ログ」「ログ・メッセージの表示」の順に選択します。
    「ログ・メッセージ」ページが開きます。

ログ・ファイルの検索および表示の詳細は、Oracle Fusion Middlewareの管理Fusion Middleware Controlを使用したログ・ファイルとそのメッセージの表示を参照してください。

WLSTを使用したログの表示

コマンド行からサーバーのログの取得と表示を行うには、ノード・マネージャに接続して、適切なWebLogic Scripting Tool (WLST)コマンドを発行する必要があります。これらのコマンドを使用して、次のような機能のいずれかを実行できます。

  • サーバー・ログのリスト表示。

  • 特定のログの内容を表示。

ノート:

WLSTの使用方法の詳細は、『WebLogic Scripting Toolの理解』を参照してください。

この手順を実行してみる前に、次の内容を実行します。

コマンド行からサーバー・メトリックにアクセスを試みる前に、次の内容を確認してください。

  • ドメインが存在すること。

  • 使用するインスタンスが存在すること。

  • インスタンスのマシン上でノード・マネージャが実行中であること。

この手順を使用するには、インスタンスと管理サーバーが動作中でも構いませんが、その必要はありません。

WLSTを使用してメトリックを表示するには:

ノート:

管理対象のドメインでは、この手順は、インスタンスが動作状態であるか停止状態であるかによって、管理マシンあるいはリモート・マシンで動作している管理サーバー上で動作します。スタンドアロン・ドメインでは、手順はローカル・マシン上でしか動作しませんが、インスタンスは動作中と停止中のいずれであっても構いません。

  1. WLSTを起動します。

    LinuxまたはUNIXの場合:

    $ORACLE_HOME/oracle_common/common/bin/wlst.sh
    

    Windowsの場合

    C:\ORACLE_HOME\oracle_common\common\bin\wlst.cmd
    
  2. 選択したドメイン・ディレクトリ(ORACLE_HOME/user_projects/domains/domainNameなど)からノード・マネージャに接続します。
    nmConnect('username', 'pwd', localhost, 5556, domainName)
    
  3. 実行するタスクに応じて、次のWLSTコマンドの1つを入力します。
    • listLogs(nmConnected=1, ...)

    • displayLogs(nmConnected=1, ...)

    たとえば:

    listLogs(nmConnected=1, target='ohs1')
    displayLogs(nmConnected=1, target='ohs1', tail=5)

テキスト・エディタでのログの表示

また、テキスト・エディタを使用して、DOMAIN_HOMEディレクトリから直接Oracle HTTP Serverログ・ファイルを表示することもできます。デフォルトでは、Oracle HTTP Serverログ・ファイルは、DOMAIN_HOME/servers/component_name/logsディレクトリにあります。ログ・ファイルをご使用のローカル・クライアントにダウンロードして、別のツールを使用してログ・ファイルを表示します。

ECID情報の記録

Oracle HTTP Serverログを、実行コンテキストID (ECID)の情報が記録されるように構成できます。

次の項では、エラー・ログおよびアクセス・ログに実行コンテキストID (ECID)情報を記録する方法について説明します。

ECID情報について

ECIDとは、Oracleコンポーネント間のリクエストにアタッチ可能なグローバルに一意のIDです。ECIDを使用すると、複数のリクエストが並行して処理される場合に同じリクエストに関する複数のログ・メッセージを追跡できます。

Oracle HTTP Serverモジュールmod_contextは、URIまたはCookieの中のECID-ContextキーあるいはECID-Contextヘッダーに対する受信リクエストをそれぞれスキャンします。見つかった場合には、有効であれば値を実行コンテキストとして使用します。見つからなかった場合には、mod_contextはリクエストに対して新たな実行コンテキストを生成し、ECID-Contextヘッダーの値として加算します。

ECID情報用エラー・ログの構成

ECID情報は、Oracle Diagnostic Logging (ODL)の一部として記録されます。ODLは、診断メッセージおよびログ・ファイルのための共通書式を示す診断メッセージを生成する方法と、様々なコンポーネントからのすべての診断メッセージを相互に関係付ける方法です。

ECIDが記録されるようにOracle HTTP Serverのエラー・ログを構成するには、httpd.conf内のOraLogModeディレクティブを、デフォルト値であるodlに必ず設定してください。odl値は標準のApacheログ書式で、特に1つのリクエストに関連付けられたログ記録用のECID情報です。

OraLogModeおよびこのディレクティブに対する他に取りうる値の詳細は、OraLogModeを参照してください。

ノート:

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

ECID情報用アクセス・ログの構成

デフォルトで、httpd.confファイルのLogFormatディレクティブは、ECID情報を取得するように構成されています。

LogFormat "%h %l %u %t %E \"%r\" %>s %b" common

マイクロ秒単位で測定するレスポンス時間を追加する場合、次のように%Dを追加します。

LogFormat "%h %l %u %t %E %D \"%r\" %>s %b" common

ECID情報の取得を抑制するには、LogFormatディレクティブから%Eを削除します。

LogFormat "%h %l %u %t \"%r\" %>s %b" common