この章では、Oracle Web Services Manager(Oracle WSM)で収集する情報について説明します。この章では次の項について説明します。
Oracle WSMの各コンポーネントは、イベント実行およびコンポーネントのステータスに関する情報を、そのコンポーネント専用のローカル・ファイルに送信します。このような情報は、Oracle WSMシステムのパフォーマンスの監視や、予定どおりに動作していないコンポーネントのデバッグに有用です。この機能は、Oracle WSM Policy Managerの起動時または特定のメソッドの実行時に様々なレベルで報告します。また、エラーが発生した場合、スタック・トレースを記録します。
アプリケーション・ログ・ファイルは次の場所にあります。
ORACLE_HOME/j2ee/instance/log
変数instanceは、Oracle WSMをインストールするOC4Jインスタンスの名前です。スタンドアロンのOracle WSMをインストールする場合、インスタンスのデフォルト値はhomeです。
表8-1に示すログ・ファイルがあります。
表8-1 Oracle WSMのアプリケーション・ログ・ファイル
ログ・ファイル名 | ログ・メッセージが記録されるコンポーネント |
---|---|
ccore.log |
Oracle Enterprise Manager 10g Web Services Manager Control |
coreman.log |
Oracle Web Services Manager Monitor |
gateway.log |
Oracle Web Services Manager Gateway |
policymanager.log |
Oracle Web Services Manager Policy Manager |
clientagent.log |
Oracle Web Services Manager Client Agent |
serveragent.log |
Oracle Web Services Manager Server Agent |
デフォルトでは、Oracle WSMをインストールすると、Web Services Manager Control、Oracle WSM Monitor、Oracle WSM GatewayおよびOracle WSM Policy Managerの4つのコンポーネントのログ・ファイルが自動的に作成されます。Oracle WSM Agentのログ・ファイルが作成されるのは、クライアントまたはサーバー・エージェントを作成してデプロイする場合のみです。
ログ・ファイルの最大サイズは、デフォルトで10MBです。ログ・ファイルがこの最大サイズに達すると、1がファイルの最後に付加され、メッセージは引き続きそのアプリケーション・ログ・ファイルにログとして記録されます。たとえば、ccore.logの名前がccore.log.1に変更され、メッセージは引き続きccore.logにログとして記録されます。デフォルトでは、バックアップ・ファイルが1つ作成されます。したがって、ccore.logの名前がccore.log.1に変更されると、既存のバックアップ・ファイルはccore.log.1で上書きされます。
ログ・ファイルの場所と名前(File)、ログ・レベル(priority value)、ログ・ファイル・サイズ(MaxFileSize)およびバックアップ・ログ・ファイル数(MaxBackupIndex)などのログ・ファイルの特性を構成するには、カッコ内のパラメータをlogging.xml構成ファイルに指定します。Oracle WSMは、Apacheグループで開発されたLog4Jテクノロジを使用します。ログ・ファイル・パラメータの構成の詳細は、製品ドキュメント(http://logging.apache.org
)を参照してください。
logging.xmlファイルのパラメータを変更した後、変更が有効になるようにアプリケーションを再デプロイする必要があります。アプリケーションのデプロイの詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。
ロギング構成ファイル
各アプリケーションには、ロギングの構成に使用できるlogging.xmlという名前のロギング構成ファイルがそれぞれあります。ロギング構成ファイルの場所を次に示します。
すべてのOracle WSMコンポーネント(Oracle WSM Agent以外)のロギング構成ファイルは次の場所にあります。
ORACLE_HOME/owsm/config/application/logging.xml
変数applicationは、Oracle WSMアプリケーションの名前(ccore、coreman、gateway、policymanager
)です。
OC4Jエージェント(すなわちOracle WebサービスおよびJ2EEクライアント・エージェントのサーバー・エージェント)のロギング構成ファイルは次の場所にあります。
ORACLE_HOME/owsm/config/interceptors/component_ID/config/agent_type/logging.xml
変数component_IDは、エージェントが登録されるときに割り当てられるコンポーネントIDです。agent_typeは、クライアント・エージェントかサーバー・エージェントかを指定するclientagent
またはserveragent
です。
ファイルに送信される低レベル・イベントおよび状態の情報量を制御するには、次のいずれかの階層ロギング・レベルを指定します。
SEVERE: コンポーネントの不具合の原因となる深刻なイベントのみを報告します。通常、これらのイベントにはスタック・トレースが付属します。
WARNING: プログラム終了の原因にはならなくとも、システム・パフォーマンスやデータ整合性に影響を与える可能性があるプログラム・アクティビティ。
INFO: 発生することになっているイベントの確認(コンポーネントの起動、データベース接続など)。デフォルトでは、ログ・レベルはINFOに設定されています。
ALL: SEVERE、WARNINGおよびINFOログ・レベルでロギングされたすべてのイベントを報告します。
注意: これらの値は大/小文字が区別されるため、大文字で指定してください。 |
ログ・ファイルを使用して、クラスごとに異なるロギング・レベルを指定できます。Web Services Manager Controlのlogging.xmlファイルからの次のエントリは、INFOに設定されたロギング・レベルを示しています。
<category name="com.cfluent.webui"> <priority value="INFO" class="com.cfluent.ccore.util.logging.LogLevel"/> </category> <category name="com.cfluent.pingengine"> <priority value="INFO" class="com.cfluent.ccore.util.logging.LogLevel"/> </category> <root> <priority value="INFO" class="com.cfluent.ccore.util.logging.LogLevel"/> <appender-ref ref="FILE"/> </root>
ロギング・レベルは、priority value
パラメータで指定します。ほとんどの場合、特定のクラスに対して異なるログ・レベルを構成する必要はありません。コンポーネント全体のログ・レベルを変更するには、すべてのクラスの優先度レベルを目的のレベルに変更するために検索および置換します。
サード・パーティ・エージェントを除くすべてのOracle WSMコンポーネントのログ・レベルを変更するには、「ロギング構成ファイル」を参照してください。サード・パーティ・エージェントのログ・レベルを変更するには、「サード・パーティ・エージェントのログ・レベルの変更」を参照してください。
サード・パーティ・エージェントのログ・レベルの変更
サード・パーティ・エージェントはOC4J以外のコンテナ(たとえばIBM WebSphereまたはBEA WebLogic)にデプロイされます。このようなエージェントのロギング・レベルの変更手順は、他のOracle WSMコンポーネントとは異なります。サード・パーティ・エージェントでは、それらのエージェントのランタイム構成ファイルを変更します。通常、ランタイム・ファイルの変更はお薦めしません。コンポーネントを再デプロイした場合に設定が上書きされるためです。ただし、サード・パーティ・エージェントの場合、問題をデバッグする際のログ・レベルの一時的な変更のために、ソース構成ファイルを編集してエージェントを再インストールするのは手間がかかります。このため、このような特定の状況では、次に示すようなランタイム構成ファイルでのログ・レベルの変更をお薦めします。
サーバー・エージェント: サード・パーティのコンテナにデプロイされたサーバー・エージェントのロギング構成ファイルは、Webサービス・アプリケーションがデプロイされているディレクトリにあります。デプロイされているWebサービス・アプリケーションの\WEB-INFフォルダにナビゲートします。次に\WEB-INF\config\serveragent\logging.xmlファイルにナビゲートします。
J2SEクライアント・エージェント: J2SEクライアント・エージェントのロギング構成ファイルは次の場所にあります。
\oracle\client\owsm\config\interceptors\component_ID\config\clientagent\logging.xml
変数component_IDは、クライアント・エージェントが登録されたときに割り当てられたコンポーネントIDです。ログ・レベルを変更してから、クライアント・アプリケーションを再起動します。
ポリシー実行ポイント(PEP)は、Oracle WSM Monitorに生データを送信します。Oracle WSM Monitorでは、その生データを集約およびコンパイルして、Webサービスの可用性、認証と認可の結果、リクエスト待機時間、およびセキュリティ違反に関する高レベル・インジケータを生成します。この情報は、Oracle WSMが管理するWebサービスに誰がアクセスしているのか、およびこれらのリクエストがどのように処理されているのかを管理者が把握する場合に役立ちます。
パフォーマンス・メトリックには一般的な2つのタイプがあります。
フロー・メトリック: ビジネス・プロセス全体におけるトランザクションの追跡に使用します。このタイプのデータを収集する前に、生成されるすべてのSOAPメッセージ・ヘッダーにフローIDを埋め込むために管理対象アプリケーションをコード化する必要があります。
高レベル・パフォーマンス・メトリックの場合、すべてのメトリックについて機能をオンまたはオフにするしかありません。個々のメトリックの収集またはコンパイルは指定できません。
ポリシーの実行として機能するエージェントおよびゲートウェイは、エージェントまたはゲートウェイの実行ポリシーで指定したロギング・ステップを使用して、アプリケーション・メッセージからの情報をログとして記録します。ポリシー・ステップの構成の詳細は、第5章「Oracle Web Services Managerのポリシー管理」を参照してください。
サービス・リクエストからの情報をログとして記録するリクエスト・パイプラインのログ・ステップ。
サービス・レスポンスからの情報をログとして記録するレスポンス・パイプラインのログ・ステップ。
パイプライン内のポリシー・ステップの後にログ・ステップを追加して、ログ・ステップごとにロギングのレベルを指定できます。そのため、収集した情報量を制御できます。
ロギング機能を設定して、次のいずれかにログ・データを送信できます。
強制コンポーネントと同じコンピュータ上に配置されているファイル。
ネットワーク上に配置されているデータベース・リポジトリ。
デフォルトでは、出力はOracle WSMデータベースに送信されます。オプションで、Oracle WSMデータベースとローカル・ファイルの両方に出力を送信できます。
ログ・ファイルはデフォルトでlogs
ディレクトリに格納され、各ログ・ファイル名には、ログが最大サイズに達した時間とファイルに書き込まれたログ・メッセージが含まれます。
パフォーマンス要件を満たすには、トポロジ的にPEPに近い場所にメッセージ・ログを配置する必要があります。これは、高度に分散された環境で複数の分散ログが必要な場合です。
ファイルにログ・エントリを送信するには、ポリシー実行ポイントのcfluent.messagelog.typeおよびcfluent.message.file.logDirectoryプロパティを編集します。これらのプロパティの編集の詳細は、「ポリシー実行ポイントの変更」を参照してください。
Asyncwriterは、Oracle WSMデータベースにログ・メッセージを書き込みます。Asyncwriterには、デフォルトで1000個のログ・エントリに対応するバッファがあります。Asyncwriterがデータベースにメッセージを書き込む速度よりも、メッセージがAsyncwriterに送信される速度の方が速い場合、メッセージの一部が失われます。これは、Oracle WSMシステムでストレス・テストを実行している場合に発生する可能性があります。この場合、ポリシー実行ポイントのcfluent.messagelog.asynwriter.maxEntriesプロパティの値を増やします。Oracle WSMコンポーネントに関するプロパティの編集の詳細は、「ポリシー実行ポイントの変更」を参照してください。