この章では、診断ログ・ファイルを使用した、Oracle Service Busサービスのモニター方法について説明します。Service Busのロギングは、Oracle Diagnostic Logging (ODL)に基づいています。
この章の内容は次のとおりです。
ODLおよび診断ログ・ファイルについては、『Oracle Fusion Middlewareの管理』のログ・ファイルと診断データの管理に関する項を参照してください。
Service Busコンポーネントは、すべてのタイプのイベントを記録するメッセージを含むログ・ファイルを生成します。これには、起動およびシャットダウン情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報などの詳細情報が含まれます。
Service Busは、Oracle Diagnostic Logging (ODL)を使用して、診断ログ・ファイルの標準フォーマット、コンテンツおよびファイル処理を定義します。ロギングの標準アクションに加えて、Service Busは、ログ・アクションがあり、かつロギングが有効である任意のパイプラインおよび分割-結合に対して、診断ログ・ファイルにエントリを追加します。
ODLでは、最大ログ・ファイル・サイズなど、保存される診断情報の量を制限することができます。個別の製品コンポーネントのログ・メッセージを管理するためのいくつかのログ・ハンドラが用意されており、標準ログ・メッセージ書式も提供されます。
ODLフレームワークは、domain_name
/servers/
server_name
/logs/
server_name
-diagnostic.log
に診断ログ・メッセージを書き込みます。このファイルは、すべてのODLログ出力のデフォルトのログ・ファイルです。新しいログ・ファイルを作成したり、ログ・ファイルの場所を変更したりすることができます。ログ・ファイルが指定したサイズになると、名前が変更され、新しいログ・ファイルが作成されます。ログ・ファイル・ストレージの合計が指定したサイズになると、最も古いログ・ファイルが削除されます。
ログ・ハンドラに指定されているODLロギング・レベルによって、ログ・ファイルに書き込まれる情報の量が決まります。ログ・レベルには、メッセージ・タイプやメッセージ・レベルが含まれます。特定のレベルのロギングを有効にすると、それ以上のレベルのすべてのロギングも有効になります。
ODLで定義されるメッセージ・タイプは次のとおりです。
INCIDENT_ERROR
ERROR
WARNING
NOTIFICATION
TRACE
メッセージ・レベルによって、メッセージ・タイプがさらに制限され、メッセージの重大度が示されます。値は、1(最も重大度が高いことを示します)から32(最も重大度が低いことを示します)までの整数です。メッセージ・タイプおよびレベルはともに、java.util.logging.Level
で定義されているレベルにマップされます。たとえば、TRACE:32
はFINEST
にマップされ、NOTIFICATION:1
はINFO
にマップされます。Fusion Middleware Controlでは、「ログ構成」ページにマッピングが表示されます。
ロギング・レベルの詳細は、Oracle Fusion Middlewareの管理のログ・ファイルに書き込まれる情報レベルの設定に関する項を参照してください。
すべての製品は、可読性を向上させるため、標準の書式でODLログ・メッセージを書き込みます。書式は次のとおりです。
[timestamp] [component id] [messagetype:level] [message-id] [module id] ([field-name: field-value])* message-text [supplemental-detail]
すべてのメッセージ・コンポーネントの説明など、ログ・エントリの書式の詳細は、Oracle Fusion Middlewareの管理のODLメッセージおよびODLログ・ファイルの理解に関する項を参照してください。
ODLログ・ファイルおよびログ・レベルは、Fusion Middleware ControlやWLSTコマンドを使用して、またはlogging.xml
を直接変更して構成できます(後者の方法はお薦めしません)。ログ構成を更新すると、変更はただちに有効になり、サーバーの再起動は必要ありません。Fusion Middleware ControlまたはWSLTコマンドを使用して、ログ・ファイルの表示と検索、新しいログ・ファイルの作成、ログ・ファイルの場所の変更、各ログ出力の重大度の変更などを行うことができます。
logging.xml
ファイルは、domain_name
/config/fmwconfig/servers/
server_name
にあります。デフォルトでは、Service Bus固有のこのファイルにはログ出力エントリがないため、この方法を使用してロギングを変更する場合は、Service Busのログ出力に手動で追加する必要があります。ログ出力のリストは、「Oracle Service Busのログ出力」を参照してください。
Service Busには、様々なモジュールのメッセージを処理するための様々なログ出力があります。これらのログ出力はすべて、親ログ出力であるoracle.osbにあります。oracle.osbログ出力を構成することはできません。これは、親ログ出力oracleから構成を継承します。Fusion Middleware Controlで、またはWLSTコマンドを使用して、これらのログ出力を表示および構成できます。
Service Busのログ出力の詳細リストは、「Oracle Service Busのログ出力」を参照してください。
注意:
Service Busでは、後方互換性のためにのみ、親ログ出力oracle.osb
にデバッグ・ログ出力が提供されています。
Service Busのログ出力を構成するための最も簡単な方法は、Fusion Middleware ControlまたはWLSTコマンドを使用することです。
Fusion Middleware Controlの「ログ構成」ページの「ログ・レベル」タブには次の情報が表示されます。
情報を表示するログ出力のタイプを選択するための「表示」リスト。実行時または永続状態のログ出力から選択します。
ログ出力名、ログ・ファイルに書き込む情報の量とタイプを設定するOracle Diagnostic Logging (ODL)レベル、ログ・ファイルおよびログ・レベルの状態が表示される表。
「ログ・ファイル」タブには、ログ・ハンドラ、ログ・ファイルのパスおよび名前、ログ・メッセージの書式、使用するローテーション・ポリシー、およびログ・ファイル構成クラスに基づくその他のパラメータが表示されます。
Fusion Middleware Controlを使用して、Service Busのログ・レベルとログ・ファイルを構成します。
ログ・レベルとログ・ファイルを構成するには:
WLSTには、単一のサーバーのロギング構成を更新するためのコマンドがあります。これらのコマンドとその使用方法の詳細は、Oracle Fusion Middlewareの管理のログ・ファイルの設定の構成に関する項を参照してください。WLSTロギング・コマンドのリファレンスは、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のカスタムWLSTコマンドのロギングに関する項に記載されています。
デバッグは、通常のService Busの操作では無効にしておく必要がありますが、ソリューションの開発および検証時に特定のモジュールのデバッグ・ロギングを指定すると役に立つ場合があります。たとえば、アラートの開発中にアラート・エンジンの動作を確認する場合、アラートのデバッグ・フラグを有効にすることが考えられます。
Service Busサービスのデバッグの詳細は、『Oracle Service Busでのサービスの開発』のOracle Service Busデバッガの使用に関する項を参照してください。
デバッグのロギング・レベルを設定するには:
Service Busは、"OSB"という接頭辞の後にダッシュと6桁の数字が付いたメッセージID (例: OSB-381202
)を生成します。Service Busの以前のバージョンでは、ログ・メッセージの接頭辞は"BEA"でした。ログ・メッセージおよびSOAPフォルトでBEAという文字列を検出することを想定しているサードパーティのツールを使用してログ・ファイルまたはサービスをモニターする場合、それらのツールが予想どおりに作動しないことがあります。
Service Busメッセージで引き続き"BEA"という接頭辞を使用するには、実行時に次のシステム・プロパティを設定します。
-Dcom.oracle.sb.MsgIdPrefixCompatibilityModeEnabled=true
WebLogic Server管理コンソールの、Service Busサーバーの「構成」→「サーバーの起動」ページで、このプロパティを設定できます。
アプリケーション・サーバーで実行するのではなく、Service Busをオフラインで処理している場合、ロギング環境は自動的には構成されません。オフラインのロギングを構成するには、logging.xml
ファイルを手動で構成し、次の2つのシステム・プロパティを設定する必要があります。
-Djava.util.logging.config.class=oracle.core.ojdl.logging.LoggingConfiguration
-Doracle.core.ojdl.logging.config.file=logging.xml
ここで、logging.xml
は、オフラインのロギング用に構成したlogging.xml
ファイルのパスと名前です。
Fusion Middleware ControlまたはWLSTのdisplayLogs
コマンドを使用して、ログ・ファイルを表示できます。
ログ・ファイルをローカル・クライアントにダウンロードし、テキスト・エディタやファイル表示ユーティリティなどの別のツールを使用してそれらを表示できます。
Fusion Middleware Controlでのサーバーおよびドメインのログ・ファイルの表示の詳細は、Oracle Fusion Middlewareの管理のログ・ファイルの表示と検索に関する項を参照してください。
Service Busのログ・メッセージを表示するには:
ログ・ファイル・エントリの上の「表示」メニューでは、どの列をどの順番で表示するかを選択できます。表示されるメッセージのソート方法を定義することもできます。
ログ・メッセージの表示をカスタマイズするには:
各メッセージで表示するその他の列を選択するには、次の手順を実行します。
「表示」メニューをクリックし、「列」をポイントして、表示する列の名前を選択します。
表示する各列について、この手順を繰り返します。
表から列を削除するには、次の手順を実行します。
「表示」メニューをクリックし、「列」をポイントして、削除する列の名前を選択解除します。
削除する各列について、この手順を繰り返します。
リスト内でメッセージをどのようにソートするかを定義するには、次の手順を実行します。
「表示」メニューをクリックし、「ソート」をポイントして、「詳細」を選択します。
「拡張ソート」ダイアログが表示され、最大3つの列でソートすることができます。
ソートする最初の列、および昇順でソートするか降順でソートするかを選択します。
ソートするその他の列についてこの手順を繰り返し、「OK」をクリックします。
別の順序で列を表示するには、次の手順を実行します。
「表示」メニューをクリックし、「並替え」を選択します。
「列の並替え」ダイアログが表示されます。
並べ替える列を選択し、右の矢印ボタンを使用してリスト内で上または下に移動します。
移動するその他の列についてこの手順を繰り返し、「OK」をクリックします。
ここでは、Service Busで提供されている標準のログ出力と、デバッグ・ログ出力およびそれに対応する前のバージョンのデバッグ・ログ出力のリストを示します。
この項の内容は次のとおりです。
Service Busで提供されている標準のログ出力を次に示します。
oracle.osb.configfwk
oracle.osb.mgmt.view.resequencer.ServiceNamesLovModel
oracle.osb.fmwemplugin.core
oracle.osb.mgmt.view.resource.ResourceMetricsDetailsViewHandler
oracle.osb.mgmt.base.OSBContext
oracle.osb.mgmt.view.util.AdfUtil
oracle.osb.mgmt.model.OSBModel
oracle.osb.owsm.resource.owsm
oracle.osb.mgmt.model.monitor.alerts.AlertsHistoryModel
oracle.osb.resources.core.resourcemanagement
oracle.osb.mgmt.model.monitor.metrics.ServiceMetricsHelper
oracle.osb.security.api.security
oracle.osb.mgmt.model.monitor.metrics.ServiceMetricsModel
oracle.osb.services.core.initialization
oracle.osb.mgmt.model.operations.global.GlobalOperationalSettingsModel
oracle.osb.statistics.alsbstatistics
oracle.osb.mgmt.model.resequencer.ResequencerModel
oracle.osb.transports.dsp.dsptransportmessages
oracle.osb.mgmt.model.resource.ResourceMetricsDetailsModel
oracle.osb.transports.jca
oracle.osb.mgmt.model.resource.ResourceOperationalSettingsModel
oracle.osb.transports.mq.mqtransport
oracle.osb.mgmt.model.resource.Service
oracle.osb.uddi.services.uddiconfiguration
oracle.osb.mgmt.model.resource.businessService.BusinessService
oracle.soa.resequencer.OSB
oracle.osb.mgmt.model.resource.pipeline.Pipeline
oracle.soa.resequencer.OSB.container
oracle.osb.mgmt.model.resource.proxyService.ProxyService
oracle.soa.resequencer.OSB.dao.toplink.service
oracle.osb.mgmt.model.resource.splitJoin.SplitJoin
oracle.soa.resequencer.OSB.dao.toplink.sessi
oracle.osb.mgmt.model.util.DateUtil
oracle.soa.resequencer.OSB.infra.deployment
oracle.osb.mgmt.model.util.JMXUtil
oracle.soa.resequencer.OSB.management
oracle.osb.mgmt.view.common.query.SavedSearchDefinition
oracle.soa.resequencer.OSB.service
oracle.osb.mgmt.view.monitor.alerts.AlertsHistoryViewHandler
oracle.soa.resequencer.OSB.service.event
oracle.osb.mgmt.view.monitor.metrics.ServiceMetricsViewHandler
oracle.soa.resequencer.OSB.threadpool
oracle.osb.mgmt.view.operations.global.GlobalOperationalSettingsViewHandler
oracle.soa.resequencer.OSB.utils
oracle.osb.mgmt.view.resequencer.ResequencerViewHandler
次の表は、以前にalsbdebug.xml
およびconfigfwkdebug.xml
で構成されたデバッグ・ログ出力と、新しいODLデバッグ・ログ出力名とのマッピングを示しています。
注意:
次の表にリストされているデバッグ・ログ出力は、後方互換性のためにのみ含まれているもので、以降のリリースでは非推奨になる予定です。
表7-1 11gおよび12cのService Busのデバッグ・ログ出力
12cのログ・ハンドラ | 11gのログ・ハンドラ | 説明 |
---|---|---|
oracle.osb.debug.alert-manager |
alsb-alert-manager-debug |
アラートの評価を出力します。 |
oracle.osb.debug.bpel |
alsb-bpel-debug |
|
oracle.osb.debug.codec |
alsb-codec-debug |
|
oracle.osb.debug.configfwk.component |
config-fwk-component-debug |
作成、更新、削除およびインポート操作に関する低レベルのデバッグ情報をログに記録します。 |
oracle.osb.debug.configfwk.core |
config-fwk-debug |
Service Busの構成に関する一般的な情報をログに記録します。 |
oracle.osb.debug.configfwk.deployment |
config-fwk-deployment-debug |
セッションの作成、アクティブ化およびクラスタ内の構成の配布に関するデバッグ情報をログに記録します。 |
oracle.osb.debug.configfwk.persistence |
config-fwk-persistence-debug |
|
oracle.osb.debug.configfwk.security |
config-fwk-security-debug |
インポートおよびエクスポート時の暗号化と復号化に関するデバッグ情報をログに記録します。 |
oracle.osb.debug.configfwk.transaction |
config-fwk-transaction-debug |
メモリー内のデータ構造とファイルの変更に関する低レベルのデバッグ情報をログに記録します。このデバッグ・フラグにより、サーバーの起動時の回復ログも生成されます。 |
oracle.osb.debug.configfwk.validation |
config-fwk-validation-debug |
|
oracle.osb.debug.console |
alsb-console-debug |
|
oracle.osb.debug.custom-resource |
alsb-custom-resource-debug |
カスタム・リソースに関する情報をログに記録します。 |
oracle.osb.debug.debugger |
alsb-debugger-debug |
|
oracle.osb.debug.flow-deployment |
alsb-flow-deployment-debug |
|
oracle.osb.debug.flow-resource |
alsb-flow-resource-debug |
分割-結合内で生成されるエラーに関する情報をログに記録します。 |
oracle.osb.debug.flow-transports |
alsb-flow-transport-debug |
|
oracle.osb.debug.jca-framework-adapter |
alsb-jca-framework-adapter-debug |
|
oracle.osb.debug.jms-reporting-provider |
alsb-jms-reporting-provider-debug |
即時利用可能なJMSベースのレポート・プロバイダに関する情報をログに記録します。 |
oracle.osb.debug.management |
alsb-management-debug |
コンソールでのユーザーとグループの管理に関する情報をログに記録します。 |
oracle.osb.debug.management-dashboard |
alsb-management-dashboard-debug |
|
oracle.osb.debug.message-tracing |
alsb-message-tracing-debug |
Logs message tracing information. |
(12cにはありません) |
alsb-monitoring-aggregator-debug |
使用されなくなりました。 |
oracle.osb.debug.monitoring |
alsb-monitoring-debug |
統計システムに関する情報をログに記録します。 |
oracle.osb.debug.mqconnection |
alsb-mqconnection-debug |
MQ接続リソースに関する情報をログに記録します。 |
oracle.osb.debug.pipeline |
alsb-pipeline-debug |
パイプライン内で生成されるエラーに関する情報をログに記録します。 |
oracle.osb.debug.proxy-server-manager |
alsb-proxy-server-manager-debug |
プロキシ・サーバーに関する情報をログに記録します。 |
oracle.osb.debug.resequencer |
メッセージのリシーケンスに関する情報をログに記録します。 |
|
oracle.osb.debug.result-caching |
alsb-result-caching-debug |
ビジネス・サービスの結果キャッシュに関する情報をログに記録します。 |
oracle.osb.debug.security-module |
alsb-security-module-debug |
|
oracle.osb.debug.security-wss |
alsb-security-wss-debug |
|
oracle.osb.debug.security-wss-owsm-debug |
alsb-security-wss-owsm-agent-debug |
|
oracle.osb.debug,security-wss-owsm |
alsb-security-wss-owsm-debug |
|
(12cにはありません) |
alsb-security-wss-owsm-pm-debug |
使用されなくなりました。 |
oracle.osb.debug.service-account-manager |
alsb-service-account-manager-debug |
サービス・アカウントに関する情報をログに記録します。 |
oracle.osb.debug.service-binding-layer |
alsb-service-binding-layer-debug |
|
oracle.osb.debug.service-provider-manager |
alsb-service-provider-manager-debug |
サービス・プロバイダに関する情報をログに記録します。 |
oracle.osb.debug.service-repository |
alsb-service-repository-debug |
サービス関連の様々な構成操作に関する情報をログに記録します。 |
oracle.osb.debug.service-security-manager |
alsb-service-security-manager-debug |
アクセス制御に関する情報をログに記録します。 |
(12cにはありません) |
alsb-service-validation-debug |
使用されなくなりました。 |
oracle.osb.debug.sources |
alsb-sources-debug |
|
oracle.osb.debug.stages-transform-runtime |
alsb-stages-transform-runtime-debug |
トランザクション関連のアクションに関する情報をログに記録します。 |
oracle.osb.debug.test-console |
alsb-test-console-debug |
テスト・コンソール・アクティビティに関する情報をログに記録します。 |
oracle.osb.debug.throttling |
alsb-throttling-debug |
スロットル機能に関する情報をログに記録します。 |
oracle.osb.debug.transports |
alsb-transports-debug |
トランスポート・ヘッダーなど、トランスポート関連のデバッグ情報をログに記録します。これは、メッセージ単位で出力されます。 |
oracle.osb.debug.uddi |
alsb-uddi-debug |
UDDIレジストリに関する情報をログに記録します。 |
oracle.osb.debug.wadl-repository |
なし |
WADL関連の構成操作に関する情報をログに記録します。 |
oracle.osb.debug.ws-policy |
alsb-wspolicy-repository-debug |
WSポリシーに関する情報をログに記録します。 |
oracle.osb.debug.wsdl-repository |
alsb-wsdl-repository-debug |
WSDL関連の構成操作に関する情報をログに記録します。 |
Oracle Service Bus 11gからアップグレードすると、アップグレード・プロセスによってalsbdebug.xml
ファイルが削除されます。alsbdebug.xml
を使用して、デバッグ・ロギングを有効にするようにサーバーが構成されていた場合、デバッグ・ロギングを再度有効にするように再構成する必要があります。
表7-1に、使用する新しいログ出力が示されています。
さらに、Service Busでは、ログ・エントリをサーバー・ログ・ファイルではなく診断ログ・ファイルに書き込むようになったため、バージョン11gでログ・ファイルの検査に使用していたカスタム・ツールがある場合はそのツールを更新する必要があります。古いファイル名はserver_name
.log
、新しいファイル名はserver_name
-diagnostic.log
です。
Service Busを11gからアップグレードすると、既存のService Busログ・メッセージのロギング・レベルが自動的に更新されます。次の表で、以前のログ・レベルが新しいログ・レベルにどのようにマップされるかについて説明します。
表7-2 11gログ・レベルの12cへのマッピング
WLSの重大度 | ODLメッセージ・タイプ: メッセージ・レベル | 整数値 |
---|---|---|
trace |
TRACE:32 |
295 |
debug |
TRACE:1 |
500 (Level.FINE) |
info |
NOTIFICATION:1 |
800 (Level.INFO) |
notice |
WARNING:7 |
880 |
warning |
WARNING:1 |
900 (Level.WARNING) |
error |
ERROR:1 |
1000 (Level.SEVERE) |
critical |
INCIDENT_ERROR:24 |
1030 |
alert |
INCIDENT_ERROR:14 |
1060 |
emergency |
INCIDENT_ERROR:4 |
1100 |
ODLでのロギングは、ログ・メッセージが前のバージョンとは異なる方法で書式設定されることを意味します。新しい書式は次のとおりです。
[timestamp] [component id] [messagetype:level] [message-id] [module id] ([field-name: field-value])* message-text [supplemental-detail
表7-3に、前のバージョンのService Busログ・メッセージが新しいODL書式にどのようにマップされるかを示します。ログ・メッセージの書式の詳細は、Oracle Fusion Middlewareの管理のODLメッセージおよびODLログ・ファイルの理解に関する項を参照してください。
表7-3 ODLへのメッセージ書式のマッピング
WebLogic Serverの書式 | ODLの書式 |
---|---|
タイムスタンプ |
タイムスタンプ |
重大度 |
メッセージ・タイプ:レベル |
サブシステム |
なし |
ホスト名 |
Field-name:field-value (ホストID) |
サーバー名 |
コンポーネントID |
スレッド |
Field-name:field-value (スレッドID) |
ユーザーID |
Field-name:field-value (ユーザーID) |
トランザクションID |
なし |
診断コンテキストID |
Field-name:field-value (実行コンテキストID) |
生の時間値 |
なし |
メッセージID |
メッセージID |
メッセージ・テキスト |
メッセージ・テキスト |