ほとんどのAXF構成が、Oracle WebCenter Contentのインストールの一部として完了されます。この章では、追加のAXF設定の構成方法を説明します。この項の内容は、次のとおりです。
この項の内容は次のとおりです。
この項では、Enterprise ManagerおよびDMSロギングを使用したBPM用AXFのロギングについて説明します。
表4-1は、構成可能なロガーを示しています。こられには、基本、カスタマイズおよびパフォーマンスのロガーが含まれます。詳細構成については、第4.1.1.1項を参照してください。
表4-1 AXFロガー
ロガー | 説明 |
---|---|
oracle.ecm.axf |
この基本AXFロガーは、AXFシステム診断の高度な詳細ログを提供します。これには、製品のトレース実行および例外に関する情報も含まれます。 |
oracle.ecm.axf.performance |
AXFパフォーマンス・ロガーは、DMSメトリックに対応する詳細ログを提供し、システム全体のパフォーマンスを判断したり、特定のパフォーマンス・ベースのテスト・ケースを別にしたりするために使用されます。第4.1.1.2項を参照してください。 |
基本AXFロガーは、Oracle親ロガーのロギング・レベルを継承します。デフォルトで、親ロガーは、NOTIFICATIONレベルのロギングを使用するよう構成されます。カスタマイズ・ロガーおよびパフォーマンス・ロガーは、基本AXFロガーのロギング・レベルを継承します。NOTIFICATION構成では、コンソールに対する警告メッセージおよびエラー・メッセージのみが記録されます。(詳細は、表4-4を参照してください。)ロギング・レベルを上げ、コンソールへのロギングをより詳細にするには、図4-1に示しているように、Enterprise Managerコンソールを使用してレベルを調整します。
BPM用AXFシステム上の特定の動作を調査するために、コンソールへのロギングで提供されるものより詳細な情報の取得が必要な場合があります。この項では詳細構成の手順を説明します。この手順では、サーバー上のlogging.xmlファイルを使用して、1つ以上のログ・ハンドラおよびロガーを定義します。各サーバーには、Oracleドメインの次のディレクトリにlogging.xmlファイルが設定されています。
Oracle/Middleware/user_projects/domains/<domain name>/config/fmwconfig/servers/<server> directory
logging.xmlファイルを編集して、2つのログ・ハンドラ(log_handler)と2つのロガー(logger)を定義します。これによって、2つのロガーからの出力を個別に処理して、対応するログ・ハンドラを使用して出力を別の一意のログ・ファイルにルーティングできるようになります。表4-2に示されているプロパティを使用し、例4-1を参照して、log_handlers
タグの下に、ログ・ハンドラを定義します。
表4-2 ログ・ハンドラのプロパティ
プロパティ | 説明 |
---|---|
path |
ロギングを格納するサーバーの場所を定義します。 |
maxFileSize |
各ログ・ファイルの最大サイズ(バイト単位)を指定します。メイン・ログ・ファイルが指定のサイズに達した場合、ログ・ローテーションがトリガーされ、メイン・ログ・ファイルは完了して新規ログ・ファイルが作成されます。 |
maxLogSize |
ログ全体の最大サイズ(バイト単位)を指定します。古いアーカイブ・ファイルから削除されていき、ログ・サイズ合計が指定の上限を下回るようにします。 |
例4-1 ログ・ハンドラの変更が加えられたLogging.xmlファイル
<log_handler name='axf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' level='ALL'> <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf.log'/> <property name='maxFileSize' value='5485760'/> <property name='maxLogSize' value='54857600'/> </log_handler> <log_handler name='axf-handler-performance' class='oracle.core.ojdl.logging.ODLHandlerFactory' level='ALL'> <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf_performance.log'/> <property name='maxFileSize' value='5485760'/> <property name='maxLogSize' value='54857600'/> </log_handler>
ログ・ハンドラの定義と同様に、3つのロガー(logger)を定義します。AXFアプリケーションでログごとに1つのログ・ハンドラが定義され、Enterprise Managerコンソールで表示できます。これによって、各ロガーのロギング・レベルを個別に構成して、出力に使用するログ・ハンドラを指定できます。表4-3に示されているプロパティを使用し、例4-2を参照して、loggers
タグの下に、ロガーを定義します。
表4-3 ロガーのプロパティ
プロパティ | 説明 |
---|---|
name |
アプリケーションで定義されるロガー名。AXFには、次のロガーが含まれます。oracle.ecm.axf、oracle.ecm.axf.performanceおよびoracle.ecm.axf.customization。 |
level |
情報を記録するレベル。詳細は、次の表4-4を参照してください。 |
useParentHandlers |
親からレベルを継承するには |
例4-2 ロガーの変更が加えられたLogging.xmlファイル
<logger name='oracle.ecm.axf' level='TRACE:32' useParentHandlers='false'> <handler name='axf-handler'/> <handler name='console-handler'/> </logger> <logger name='oracle.ecm.axf.performance' level='TRACE:32' useParentHandlers='false'> <handler name='axf-handler-performance'/> <handler name='console-handler'/> </logger>
ロガーおよびログ・ハンドラを定義して保存すると、ロガー・レベル属性で定義されたとおりにログ・ファイルでロギングの入力が自動的に開始します。Enterprise Managerコンソールを使用してレベルを変更し、詳細が必要な特定のログを別にして、残りのログのロギング処理は最小限に抑えてサーバーのパフォーマンスが受ける影響を軽減することもできます。ロギング・レベルに指定できる値を表4-4に示します。
Oracle Dynamic Monitoring Service (DMS)は、アプリケーション・パフォーマンス診断のOracle標準です。Oracle標準の一部として、DMSロギングを常にオンにしておく必要があります。AXFでは、次のような目的を持ってDMSロギングが処理されます。
AXFのパフォーマンスを適切に評価するには、外部製品での時間を除外する能力が必要になる。
特定の製品領域のパフォーマンスの問題の解決が容易になるように、DMSメトリックをコール・スタックのタイミングのメトリックに関連付けるためのログを使用する必要がある。
表4-5に示したメトリック表は、実行されるアクションのタイプに基づいたパフォーマンスの問題の解決に役立ちます。
表4-5 DMSロギング
メトリック表 | 説明 |
---|---|
AXF |
AXF API操作に関するタイミング統計を記録します。統計は、サービス操作ごとに記録されます。 |
AXF_Business Rules |
SOAビジネス・ルールとの相互作用に関するタイミング統計を記録します。 |
AXF_HumanTasks |
SOAヒューマン・タスクとの相互作用に関するタイミング統計を記録します。 |
AXF製品のインストゥルメンテーションの一部として、特別なロガーであるoracle.ecm.axf.performanceによって、DMSデータと一般的な実行スタック・トレースとの関連付けが容易になります。AXF_Performance.logは、標準のJavaおよびOracleの実施基準に基づいて、Enterprise Managerを使用して構成できます。ログの構成例については、第4.1.1.1項を参照してください。
次のいずれかの方法を使用してロギングを構成できます。
ロガーの設定にWebインタフェースを使用するには、Enterprise Managerの「ログ構成」ページに移動します。たとえば、サイド・ペインでサーバーを選択し、右クリックして、「ロギング」を選択してから、ロギングの構成を選択します。詳細は、Oracle Enterprise Managerのドキュメントを参照してください。
AXFログを使用して、ソリューション構成における問題を取り出します。デフォルトで、一部のAXFロギングは、Application Serverロギングの一部として自動的に実行されます。次の手順に従って、より詳細な別個のAXFロギングを構成します。
ログ・ハンドラをApplication Server構成に追加します。次の場所にあるlogging.xmlファイルの<log_handlers>タグ内にハンドラを追加します。
DOMAIN
/config/fmwconfig/servers/
SERVER
/logging.xml
場所の例を次に示します。
base_domain/config/fmwconfig/servers/IPM_Server1/logging.xml
<log_handler name='axf-handler' level='ALL' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf.log'/> <property name='maxFileSize' value='5485760'/> <property name='maxLogSize' value='54857600'/> <property name='encoding' value='UTF-8'/> </log_handler>
ロガーをlogging.xmlファイルに追加して、表4-6に示したログ・レベル(ODLメッセージ・タイプ)からレベルを設定します。XMLファイルにロギング・レベルを設定することも、Enterprise Managerを使用することもできます。
<logger name='oracle.imaging.axf' level='TRACE:32' useParentHandlers='false'> <handler name='axf-handler'/> <handler name='console-handler'/> </logger>
注意: 端末のロギングを省略するには、console-handlerタグを削除します。 |
表4-6 設定可能なロギング・レベル
ログ・タイプ | 説明 | ログ・レベル(ODLメッセージ・タイプ) |
---|---|---|
NULL |
ロガーは、親に設定されたログ・レベルを継承します。 |
該当なし |
SEVERE |
システム管理者の注意が必要なシステム・エラーを記録します。 |
ERROR:1 |
WARNING |
エラーが発生する前に確認して処理する必要があるとして検出されたアクションまたは条件を記録します。 |
WARNING:1 |
INFO |
正常なアクションまたはイベントを記録します。これには、ログイン完了などのユーザー操作や、ログ・ファイルのローテーションなどの自動処理が該当します。 |
NOTIFICATION:1 |
CONFIG |
構成関連のメッセージまたは問題を記録します。 |
NOTIFICATION:16 |
FINE |
デバッグまたはパフォーマンス監視に使用されるトレース・メッセージまたはデバッグ・メッセージを記録します。通常は、詳細なイベント・データが含まれます。 |
TRACE:1 |
FINER |
かなり詳細なトレース・メッセージまたはデバッグ・メッセージを記録します。 |
TRACE:16 |
FINEST |
きわめて詳細なトレース・メッセージまたはデバッグ・メッセージを記録します。 |
TRACE:32 |
Windowsを使用している場合に、管理サーバーを実行しているときは、これを再起動します。ロガーがEnterprise Managerに表示されます。実行時にロギング・レベルを変更できます。
インストールでキャッシュにCoherenceを使用する場合(高可用性環境の要件)、ネームスペース、プロパティ定義、プロパティ・セット定義およびプロパティ・セット用にそれぞれ1つずつ4つの個別のキャッシュが設定されます。このデフォルトのキャッシュ構成は、Coherenceのデフォルトとともに即時機能します。
AXF用に最適化されたオプションのCoherence構成を構成するには、単純なCoherenceキャッシュの構成方法を示す、次のサンプルのaxf-cache-config.xml構成ファイルを参照してください。高度なキャッシュ・タイプの詳細は、Coherenceのドキュメントを参照してください。次に記載されたようにCoherenceを構成することをお薦めしますが、必須ではありません。
<?xml version="1.0"?> <!-- File: coherence-cache-config.xml --> <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config http://xmlns.oracle.com/coherence/coherence-cache-config/1.0/coherence-cache-config.xsd"> <!-- Prefix all service names to ensure no unintended clustering with other cache servers --> <scope-name>com.oracle.ecm.axf</scope-name> <defaults> <serializer>pof</serializer> </defaults> <caching-scheme-mapping> <!-- Specific cache mappings to avoid configuration errors --> <!-- Cache limits are set per cache per node, so the total limit is the sum of all the cache limits on this node. As there are 3 caches the storage will be a maximum of 3 x 100MB = 300MB, in addition to 3 x 5MB = 15MB of near cache for clients. --> <cache-mapping> <cache-name>AXF</cache-name> <scheme-name>CustomNearCacheScheme</scheme-name> </cache-mapping> <cache-mapping> <cache-name>AXF_CONVERSATION</cache-name> <scheme-name>CustomNearCacheScheme</scheme-name> </cache-mapping> <cache-mapping> <cache-name>AXF_EVENT</cache-name> <scheme-name>CustomNearCacheScheme</scheme-name> </cache-mapping> </caching-scheme-mapping> <caching-schemes> <near-scheme> <scheme-name>CustomNearCacheScheme</scheme-name> <front-scheme> <local-scheme> <scheme-ref>SizeLimitedLocalScheme</scheme-ref> </local-scheme> </front-scheme> <back-scheme> <distributed-scheme> <scheme-name>CustomDistributedCacheScheme</scheme-name> <backing-map-scheme> <local-scheme> <scheme-name>SizeLimitedLocalScheme</scheme-name> <eviction-policy>HYBRID</eviction-policy> <!-- 100M --> <high-units>100</high-units> <unit-calculator>BINARY</unit-calculator> <unit-factor>1048576</unit-factor> <expiry-delay>4h</expiry-delay> </local-scheme> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme> </back-scheme> <invalidation-strategy>present</invalidation-strategy> </near-scheme> <local-scheme> <scheme-name>SizeLimitedLocalScheme</scheme-name> <eviction-policy>HYBRID</eviction-policy> <!-- 5M --> <high-units>5</high-units> <unit-calculator>BINARY</unit-calculator> <unit-factor>1048576</unit-factor> <expiry-delay>4h</expiry-delay> <cachestore-scheme></cachestore-scheme> </local-scheme> </caching-schemes> </cache-config>