ヘッダーをスキップ
Oracle Fusion Middleware Oracle HTTP Server管理者ガイド
11g リリース1 (11.1.1)
B55928-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 Oracle HTTP Serverログの管理


注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。


Oracle HTTP Serverでは、すべてのタイプのイベントを記録したメッセージが含まれるログ・ファイルが生成されます。これには、起動と停止の情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報、および追加情報が含まれます。この章では、エラーの原因とその修正処置に関する情報を調べる方法、システム・アクティビティの監視に役立つログ・ファイルを表示して管理する方法、および問題を診断する方法について説明します。

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

7.1 サーバー・ログの概要

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

ORACLE_INSTANCE/diagnostics/logs/OHS/component_name

Oracle HTTP Serverには、次の2つのタイプのログがあります。

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

7.1.1 エラー・ログについて

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

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

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

7.1.2 アクセス・ログについて

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

  • ホスト名

  • リモート・ログ名

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

  • リクエスト

  • レスポンス・コード

  • 転送バイト数

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

アクセス・ログ形式

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

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

host ident authuser date request status bytes

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

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

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

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

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

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

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


関連項目:

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


7.1.3 ログ・ローテーション

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

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

odl_rotatelogsコマンドの一般構文は次のとおりです。

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

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

表7-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 logfile frequency retentionTime startTime
    

    :

    $ odl_rotatelogs /varlog/error.log-%Y-%m-%d 21600 172800 2012-03-10T08:30:00
    

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

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

    構文:

    $ odl_rotatelogs logfile maxFileSize allFileSize
    

    :

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

    $ odl_rotatelogs /var/log/error.log-%Y-%m-%d 10M 70M
    

7.2 Oracle HTTP Serverログの構成

Fusion Middleware Controlを使用してエラー・ログとアクセス・ログを構成できます。「ログ構成」ページから、次のロギング・タスクを設定できます。

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

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

  1. Oracle HTTP Serverのホームページに移動します。

  2. 「管理」メニューから「ログ構成」を選択します。

    「ログ構成」ページが表示されます(次の図を参照)。

    「ログ構成」画面
    図log_config_11g.gifの説明

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

7.2.1.1 エラー・ログの形式および場所の構成

Oracle HTTP Serverはデフォルトで、エラー・ログ形式としてODL-Textを使用し、ORACLE_INSTANCE/diagnostics/logs/OHS/ component_nameディレクトリ内にcomponent_name.logという名前のログ・ファイルを作成します。別の形式またはログ場所を使用するには、次の手順を実行します。

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

  2. 目的のファイル形式を選択します。ODL-Text形式とODL-XML形式ではどちらも同じ情報が提供されますが、ODL-XMLファイルのほうがXML要素とラッパーが含まれているため、読みやすい可能性があります。

    • ODL-Text - この形式の診断メッセージはOracle標準に準拠しており、テキスト形式で書き込まれます。

    • ODL-XML - この形式の診断メッセージはOracle標準に準拠しており、XML形式で書き込まれます。

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

  3. 「ログ・ファイル/ディレクトリ」フィールドにエラー・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。


    注意:

    コンソール~ohs~1.logのログが別の場所に記録されるように構成することはできません。


  4. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

  5. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

7.2.1.2 エラー・ログ・レベルの構成

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

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

  2. 「レベル」メニューからロギングのレベルを選択します。ロギング・レベルが高くなると、ログに含まれる情報も増加します。

  3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

  4. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。


注意:

Apacheログ形式のログ・レベルは、ODL-Text形式やODL-XMLログ形式のログ・レベルとは異なります。

  • ODLログ・レベルの詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルに書き込まれる情報レベルの設定に関する項を参照してください。

  • Apacheのログ・レベルの詳細は、Apache HTTP Serverドキュメントの「LogLevel Directive」を参照してください。


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

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

  1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

  2. ローテーション・ポリシーを選択します。

    • ローテーションなし - ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

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

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

  3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

  4. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

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

Fusion Middleware Controlを使用してOracle HTTP Serverのアクセス・ログを構成するには、次の手順を実行します。

  1. Oracle HTTP Serverのホームページに移動します。

  2. 「管理」メニューから「ログ構成」を選択します。

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

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

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

  1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

  2. 「ログ形式の管理」をクリックします。

    「カスタム・アクセス・ログ形式の管理」ページが表示されます(次の図を参照)。

    アクセス・ログ形式ページ
    図log_format_11g.gifの説明

  3. 既存の形式を選択して変更または削除するか、「行の追加」をクリックして新規形式を作成します。

  4. 新しいフォーマットを作成する場合には、「ログ形式名」フィールドに新しいログ・フォーマットを入力し、「ログ形式パターン」フィールドにログ・フォーマットを入力します。


    関連項目:

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


  5. 「OK」をクリックして新規形式を保存します。

7.2.2.2 アクセス・ログ・ファイルの構成

Oracle HTTP Serverのアクセス・ログ・ファイルを構成するには、次の手順を実行します。

  1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

  2. 新規のアクセス・ログを作成する場合は、「作成」をクリックします。既存のアクセス・ログ・ファイルを編集する場合は、表から行を選択して「編集」ボタンをクリックします。

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

    アクセス・ログ形式ページ
    図log_access.gifの説明

  3. 「ログ・ファイル・パス」フィールドにアクセス・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。

  4. 「ログ形式」メニューから既存のアクセス・ログ形式を選択します。

  5. ローテーション・ポリシーを選択します。

    • ローテーションなし - ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

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

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

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

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

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

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

7.3.1 Oracle Diagnostic Loggingディレクティブ

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

7.3.1.1 OraLogMode

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

OraLogMode Apache | ODL-Text | ODL-XML

デフォルト値: ODL-Text

例: OraLogMode ODL-XML


注意:

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


7.3.1.2 OraLogDir

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

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

OraLogDir <path>

デフォルト値: ORACLE_INSTANCE/diagnostics/logs/OHS/component_name

例: OraLogDir /tmp/logs

7.3.1.3 OraLogSeverity

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

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

OraLogSeverity <msg_type>[:msg_level]

デフォルト値: WARNING:32

例: OraLogSeverity NOTIFICATION:16

msg_type

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

  • INCIDENT_ERROR

  • ERROR

  • WARNING

  • NOTIFICATION

  • TRACE

msg_level

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

7.3.1.4 OraLogRotationParams

エラー・ログ・ファイルのローテーション・ポリシーを選択できます。このディレクティブは、OraLogModeODL-TextまたはODL-XMLに設定されている場合にのみ使用されます。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_typeがS(サイズベース)に設定されている場合は、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日)間保存されます。

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

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

7.3.2.1 ErrorLog

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

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


関連項目:

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


7.3.2.2 LogLevel

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

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


関連項目:

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


7.3.2.3 LogFormat

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

LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

関連項目:

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


7.3.2.4 CustomLog

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


関連項目:

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


7.4 Oracle HTTP Serverログの表示

Fusion Middleware Controlを使用してOracle HTTP Serverログ・ファイルの検索、表示および一覧表示を行うことも、ローカル・クライアントにログ・ファイルをダウンロードして別のツールでログ・ファイルを表示することもできます。

また、任意のテキスト・エディタを使用して、ORACLE_INSTANCEディレクトリから直接Oracle HTTP Serverログ・ファイルを表示することもできます。Oracle HTTP Serverログ・ファイルはデフォルトで、ORACLE_INSTANCE/diagnostics/logs/OHS/component_nameディレクトリ内にあります。

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


関連項目:

ログ・ファイルの検索と閲覧の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。