注意: このドキュメントの情報は、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リクエストに関するアクセス情報、および追加情報が含まれます。この章では、エラーの原因とその修正処置に関する情報を調べる方法、システム・アクティビティの監視に役立つログ・ファイルを表示して管理する方法、および問題を診断する方法について説明します。
この章の内容は、次のとおりです。
Oracle HTTP Serverには、次の2つのタイプのログがあります。
エラー・ログ: サーバーの問題が記録されます。
アクセス・ログ: どのコンポーネントとアプリケーションに誰がアクセスしたかが記録されます。
Oracle Fusion Middlewareのログ・ファイルは、Fusion Middleware Controlまたはテキスト・エディタのいずれかを使用して表示できます。Oracle HTTP Serverのログ・ファイルは、次のディレクトリに存在します。
ORACLE_INSTANCE
/diagnostics/logs/OHS/<ohs_name>
関連項目: ログ・ファイルの検索と閲覧の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。 |
Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。レガシーのApacheメッセージ形式でログ・メッセージを生成するか、エラー・ログ・メッセージ生成用のOracle標準に準拠するOracle Diagnostic Logging(ODL)を使用してテキストまたはXML形式のログにログ・メッセージを生成するかを選択できます。
デフォルトでは、Oracle HTTP Serverエラー・ログでは診断メッセージの生成用にODLが使用されます。これにより、すべての診断メッセージおよびログ・ファイルのための共通書式と、Oracle Fusion Middleware全体の様々なコンポーネントからの診断メッセージを相互に関係付ける仕組みが提供されます。
エラー・ログ・ファイルのデフォルト名は、<ohs_name>.log
です。
アクセス・ログには、サーバーによって処理されたすべてのリクエストが記録されます。このログには、サーバーで処理されたすべてのHTTPトランザクションに関する基本情報が含まれます。アクセス・ログに含まれる情報は、次のとおりです。
ホスト名
リモート・ログ名
リモート・ユーザーおよび時間
リクエスト
レスポンス・コード
転送バイト数
アクセス・ログ・ファイルのデフォルト名は、access_log
です。
管理者は、アクセス・ログに含める情報とその書込み方法を指定できます。デフォルトの形式は共通ログ形式(CLF)です。
CLF形式には、次のフィールドが含まれます。
host ident authuser date request status bytes
ident: IdentityCheckが有効で、クライアント・システムによりidentdが実行されている場合のクライアントのアイデンティティ情報。ログにクライアント・アイデンティティ・フィールドを指定するには、%i
を使用します。
date: day/month/year:hour:minute:second書式のリクエスト日時。ログに日時を指定するには、%t
を使用します。
request: 二重引用符で囲まれたクライアントからのリクエスト行。ログにリクエストを指定するには、%r
を使用します。
status: クライアントに返される3桁のステータス・コード。ログにステータスを指定するには、%s
を使用します。リクエストが別のサーバーから転送される場合、ログに最後のサーバーを指定するには、%>s
を使用します。
bytes: ヘッダーを除き、クライアントに返されるバイト数。ログにバイト数を指定するには、%b
を使用します。ログにヘッダーを含めるには、%i
を使用します。
中程度にビジーなサーバー上では、ログ・ファイルを定期的にローテーションすることが重要です。Oracle HTTP Serverでは、サイズベースと時間ベースの2種類のログ・ローテーション・ポリシーをサポートしています。この2つのいずれかのローテーション・ポリシーを使用するようにエラー・ログとアクセス・ログの両方を構成できます。
Apacheからのrotatelogs
バイナリに加えて、Oracle HTTP Serverにはodl_rotatelogs
という別のローテーション・バイナリが付属しています。これは、rotatelogs
バイナリのすべての機能にログ保存機能を追加したものです。デフォルトでは、Oracle HTTP Serverではエラー・ログとアクセス・ログの両方に対してodl_rotatelogs
を使用します。odl_rotatelogs
の引数は次のとおりです。
odl_rotatelogs [-u:<utc offset in seconds>] LOGFILENAME {size based rotation options OR time based rotation options}
サイズベースのローテーションのオプション: <maxFileSize>M [<allFilesSize>M]
たとえば、10M 70M
として構成した場合、ログ・ファイルのサイズが10MBに達するたびにローテーションが行われます。また、すべてのログ・ファイルの合計として70MBが許可されます(最大で70/10=7個のログ・ファイルが保存されます)。
時間ベースのローテーションのオプション: <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日)間保存されます。
Fusion Middleware Controlを使用してエラー・ログとアクセス・ログを構成できます。「ログ構成」ページから、次のロギング・タスクを設定できます。
Fusion Middleware Controlを使用してOracle HTTP Serverのエラー・ログを構成するには、次の手順を実行します。
Oracle HTTP Serverのホームページに移動します。
「管理」メニューから「ログ構成」を選択します。
「ログ構成」ページが表示されます(次の図を参照)。
このページからは、次のエラー・ログ構成タスクを設定できます。
Oracle HTTP Serverはデフォルトで、エラー・ログ形式としてODL-Textを使用し、ORACLE_INSTANCE
/diagnostics/logs/OHS/
<ohs_name>
ディレクトリ内に<ohs_name>.log
という名前のログ・ファイルを作成します。別の形式またはログ場所を使用するには、次の手順を実行します。
「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
目的のファイル形式を選択します。ODL-Text形式とODL-XML形式ではどちらも同じ情報が提供されますが、ODL-XMLファイルのほうがXML要素とラッパーが含まれているため、読みやすい可能性があります。
ODL-Text: この形式の診断メッセージはOracle標準に準拠しており、テキスト形式で書き込まれます。
ODL-XML: この形式の診断メッセージはOracle標準に準拠しており、XML形式で書き込まれます。
Apache: この形式の診断メッセージはレガシーのApacheメッセージ形式に準拠しています。
「ログ・ファイル/ディレクトリ」フィールドにエラー・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
ログ・ファイルに書き込まれる情報の量とタイプは、メッセージのタイプおよびレベルを指定することによって構成できます。Oracle HTTP Serverのエラー・ログ・レベルは、デフォルトで「WARNING:32」に構成されています。別のエラー・ログ・レベルを使用するには、次の手順を実行します。
「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
「レベル」メニューからロギングのレベルを選択します。ロギング・レベルが高くなると、ログに含まれる情報も増加します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
注意: Apacheログ形式のログ・レベルは、ODL-Text形式やODL-XMLログ形式のログ・レベルとは異なります。
|
エラー・ログのログ・ローテーション・ポリシーは、1週間に1回などの時間ベース、または120MBなどのサイズベースで設定します。デフォルトでは、エラー・ログ・ファイルはサイズが10MBに達するとローテーションされます。また、最大で7個のエラー・ログ・ファイルが保持されます。エラー・ログ・ファイルに別のローテーション・ポリシーを使用するには、次の手順を実行します。
「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。
ローテーション・ポリシーを選択します。
ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。
サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。
時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
Fusion Middleware Controlを使用してOracle HTTP Serverのアクセス・ログを構成するには、次の手順を実行します。
Oracle HTTP Serverのホームページに移動します。
「管理」メニューから「ログ構成」を選択します。
このページからは、次のアクセス・ログ構成タスクを設定できます。
ログ形式は、アクセス・ログに含める情報とその書込み方法を指定するものです。新規のアクセス・ログ形式を追加したり、既存の形式を編集または削除するには、次の手順を実行します。
「ログ構成」ページから「アクセス・ログ」セクションに移動します。
「ログ形式の管理」をクリックします。
「カスタム・アクセス・ログ形式の管理」ページが表示されます(次の図を参照)。
既存の形式を選択して変更または削除するか、「行の追加」をクリックして新規形式を作成します。
新しいフォーマットを作成する場合には、「ログ形式名」フィールドに新しいログ・フォーマットを入力し、「ログ形式パターン」フィールドにログ・フォーマットを入力します。
「OK」をクリックして新規形式を保存します。
Oracle HTTP Serverのアクセス・ログ・ファイルを構成するには、次の手順を実行します。
「ログ構成」ページから「アクセス・ログ」セクションに移動します。
新規のアクセス・ログを作成する場合は、「作成」をクリックします。既存のアクセス・ログ・ファイルを編集する場合は、表から行を選択して「編集」ボタンをクリックします。
「アクセス・ログの作成」ページまたは「アクセス・ログの編集」ページが表示されます。
「ログ・ファイル・パス」フィールドにアクセス・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。
「ログ形式」メニューから既存のアクセス・ログ形式を選択します。
ローテーション・ポリシーを選択します。
ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。
サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。
時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。
「OK」をクリックして継続します。
複数のアクセス・ログ・ファイルを作成できます。
この項では、httpd.conf
ファイル内のOracle HTTP Serverのエラー・ログおよびアクセス・ログに関連するディレクティブについて説明します。ここで説明するディレクティブは次のとおりです。
Oracle HTTP Serverはデフォルトで、診断メッセージの生成にOracle Diagnostic Logging(ODL)を使用します。ODLを使用したロギングを設定する場合、次のディレクティブを使用します。
これにより、ログ・メッセージを生成する形式を選択できます。レガシーのApache形式、ODL-Text形式またはODL XML形式でログ・メッセージを生成するように選択できます。
OraLogMode Apache | ODL-Text | ODL-XML
デフォルト値: ODL-Text
例: OraLogMode ODL-XML
注意: Apacheログ・ディレクティブのErrorLog およびLogLevel は、OraLogMode がApache に設定されている場合のみ有効です。OraLogMode がODL-Text またはODL-XML に設定されている場合、ErrorLog およびLogLevel ディレクティブは無視されます。 |
すべてのログ・ファイルが含まれるディレクトリへのパスを指定します。このディレクトリは存在している必要があります。
このディレクティブは、OraLogMode
がODL-Text
またはODL-XML
に設定されている場合にのみ使用されます。OraLogMode
がApache
に設定されている場合、OraLogDir
は無視され、かわりにErrorLog
が使用されます。
OraLogDir <path>
デフォルト値: ORACLE_INSTANCE
/diagnostics/logs/OHS/<ohs_name>
例: OraLogDir /tmp/logs
メッセージ重大度を設定できます。このディレクティブを使用して指定したメッセージ重大度は、必要な最低レベルのメッセージ重大度として解釈され、その重大度以上のメッセージはすべてログに記録されます。
このディレクティブは、OraLogMode
がODL-Text
またはODL-XML
に設定されている場合にのみ使用されます。OraLogMode
がApache
に設定されている場合、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を使用した場合よりもメッセージが少なくなります。
エラー・ログ・ファイルのローテーション・ポリシーを選択できます。このディレクティブは、OraLogMode
がODL-Text
またはODL-XML
に設定されている場合にのみ使用されます。OraLogMode
がApache
に設定されている場合、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日)間保存されます。
Oracle HTTP Serverではデフォルトでエラー・ログにODLが使用されますが、エラー・ログ・メッセージがレガシーのApacheメッセージ形式で生成されるようにOraLogMode
ディレクティブをApache
に構成することもできます。この項では、次のディレクティブについて説明します。
ErrorLog
ディレクティブは、サーバーにより検出されたエラーが書き込まれるファイル名を設定します。ファイル・パスが絶対パスでない場合は、ServerRootからの相対パスであると想定されます。
このディレクティブは、OraLogMode
がApache
に設定されている場合にのみ使用されます。OraLogMode
がODL-Text
またはODL-XML
に設定されている場合、ErrorLog
は無視され、かわりにOraLogDir
が使用されます。
LogLevel
ディレクティブは、エラー・ログに記録されるメッセージの冗長性を調整します。
このディレクティブは、OraLogMode
がApache
に設定されている場合にのみ使用されます。OraLogMode
がODL-Text
またはODL-XML
に設定されている場合、LogLevel
は無視され、かわりにOraLogSeverity
が使用されます。
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
CustomLog
ディレクティブは、サーバーへのリクエストをログに記録する場合に使用します。ログ形式を指定し、オプションで環境変数を使用して、リクエストの特性に基づいてロギングを条件付きで実行することもできます。デフォルトでは、アクセス・ログ・ファイルは共通ログ形式を使用するように構成されています。
Fusion Middleware Controlを使用してOracle HTTP Serverログ・ファイルの検索、表示および一覧表示を行うことも、ローカル・クライアントにログ・ファイルをダウンロードして別のツールでログ・ファイルを表示することもできます。
また、任意のテキスト・エディタを使用して、ORACLE_INSTANCE
ディレクトリから直接Oracle HTTP Serverログ・ファイルを表示することもできます。Oracle HTTP Serverログ・ファイルはデフォルトで、ORACLE_INSTANCE
/diagnostics/logs/OHS/<ohs_name>
ディレクトリ内にあります。
Oracle HTTP Serverには、主にエラー・ログとアクセス・ログの2種類のログ・ファイルがあります(7.1項「サーバー・ログの概要」を参照)。エラー・ログ・ファイルは、サーバーのパフォーマンスを良好に保つための重要な情報源です。エラー・ログには、システム管理者が問題を簡単に診断して修正できるように、問題の状況に関するすべての情報が記録されます。アクセス・ログ・ファイルには、サーバーが処理するあらゆるHTTPトランザクションの基本情報が含まれます。この情報を使用すると、サーバーの使用状況パターンに関する統計レポートを生成できます。
関連項目: ログ・ファイルの検索と閲覧の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。 |