Oracle® Fusion Middleware Oracle WebLogic Server 診断フレームワークのコンフィグレーションと使い方 11g リリース 1 (10.3.1) B55523-01 |
|
戻る |
次へ |
アプリケーションで使用できる WebLogic 診断フレームワーク (WLDF) コンポーネントはインスツルメンテーションのみです。「アプリケーション スコープのインスツルメンテーションのコンフィグレーション」を参照してください。
アプリケーションに対するインスツルメンテーションは、アプリケーション スコープのリソースである診断アプリケーション モジュールとしてコンフィグレーションおよび管理します。コンフィグレーションはアプリケーションと共にデプロイする記述子ファイル内に永続化されます。このようにデプロイされる診断モジュールは、同梱のアプリケーションでのみ使用可能です。アプリケーション スコープのリソースを使用することにより、アプリケーションは常に、必要なリソースへ確実にアクセスでき、アプリケーションを新しい環境にデプロイする処理が簡素化されます。
デプロイメント プランを使用してアプリケーションをデプロイできます。デプロイメント プランを使用すると、コンフィグレーションの動的な更新が可能になります。
注意 : インスツルメンテーションをアプリケーションで使用できるようにするには、アプリケーションがデプロイされるサーバでインスツルメンテーションを有効にする必要があります。(サーバ スコープ インスツルメンテーションは、サーバの診断記述子の <instrumentation> 要素で有効にしたり無効にしたりできます)。 |
以下の節では、WLDF アプリケーション モジュールのデプロイ方法について説明します。
診断モジュールをアプリケーション スコープ リソースとしてデプロイするには、eblogic-diagnostics.xml という記述子ファイルでモジュールをコンフィグレーションします。次に、アプリケーションアーカイブがデプロイ済みのアプリケーションの ARCHIVE_PATH/META-INF ディレクトリにある状態で、記述子ファイルをパッケージします。次に例を示します。
D:\bea\wlserver_10.3\samples\server\medrec\dist\standalone\exploded\medrec\META-INF\weblogic-diagnostics.xml
診断モジュールは、展開形式でも、展開形式でないアーカイブでもデプロイできます。
注意 : META-INF ディレクトリに weblogic-diagnostics.xml 記述子がある WAR、RAR または EJB モジュールが EAR アーカイブに含まれている場合、その記述子は無視されます。 |
デプロイメント制御用に用意された任意の標準 WebLogic Server ツールを使用できます。このようなツールには、Administration Console や WebLogic Scripting Tool (WLST) などがあります。
モジュールの作成とアプリケーションのデプロイメントの詳細については、『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』を参照してください。
診断アプリケーション モジュールと診断システム モジュールにはさまざまなデプロイ方法があるため、再コンフィグレーションが可能かどうかや変更が行われる場合については、相違点があります。表 13-2 を参照してください。診断アプリケーション モジュールの作業については、この章で説明します。診断システム モジュールの作業の詳細については、「インスツルメンテーションのコンフィグレーション」を参照してください。
表 13-1 システム モジュールとアプリケーション モジュールの比較
モニタ タイプ | オブジェクトの動的な追加/削除 | コンソールでのオブジェクトの追加/削除 | JMX でのリモート変更 | JSR-88 での変更 (非リモート) | コンソールでの変更 |
---|---|---|---|---|---|
システム モジュール |
可 |
可 |
可 |
不可 |
可 - JMX から |
アプリケーション モジュール |
可 (ホットスワップ脚注 1 が有効な場合) 不可 (ホットスワップが有効でない場合。モジュールを再デプロイする必要がある) |
可 |
不可 |
可 |
可 - プランから |
脚注 1 ホットスワップの詳細については、「インスツルメンテーション コンフィグレーションを動的に制御するためのデプロイメント プランの使用」を参照してください。
WebLogic Server では、J2EE デプロイメント仕様 API (JSR-88) で指定されているように、デプロイメント プランをサポートしています。デプロイメント プランを使用すると、アプリケーションのビルド後に、そのアプリケーションのアーカイブに変更を加えることなく、コンフィグレーションを変更できます。WebLogic Server におけるデプロイメント プランの使用の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。
デプロイメント プランを使用せずにデプロイされたアプリケーションを再コンフィグレーションする場合は、アプリケーションをアンデプロイしてアーカイブを展開し、再コンフィグレーションして再びアーカイブしてから、再デプロイする必要があります。デプロイメント プランを使用すると、アプリケーション アーカイブを変更せずに、プランを更新するだけで、多くのコンフィグレーション オプションを動的に変更できます。
デプロイメント プランを使用してアプリケーションをデプロイする前に、「ホットスワップ」という機能を有効にしておくと (「ホットスワップ機能の有効化」を参照)、アプリケーションを再デプロイせずに、すべてのインスツルメンテーション設定を動的に更新することができます。ホットスワップを有効にしていない場合、または、デプロイメント プランを使用しない場合、一部のインスツルメンテーション設定の変更では、再デプロイメントが必要になります。表 13-2 を参照してください。
表 13-2 アプリケーション インスツルメンテーションのコンフィグレーションの変更が有効になる場合
使用するシナリオ ・ 設定 => | モニタの追加と削除 | アクションのアタッチとデタッチ | モニタの有効化と無効化 |
---|---|---|---|
デプロイメント プランを使用してデプロイされるアプリケーション (ホットスワップが有効な場合) |
動的 |
動的 |
動的 |
デプロイメント プランを使用してデプロイされるアプリケーション (ホットスワップが有効でない場合) |
アプリケーションの再デプロイが必要脚注 1 |
動的 |
動的 |
デプロイメント プランを使用せずにデプロイされるアプリケーション |
アプリケーションの再デプロイが必要 |
アプリケーションの再デプロイが必要 |
アプリケーションの再デプロイが必要 |
脚注 1 ホットスワップが有効になっていない場合、モニタを「削除」することはできますが、そのモニタは無効になるだけです。インスツルメンテーション コードはアプリケーション コードにウィービングされたままになります。変更後のプランを使用しても、そのモニタは再び有効にはなりません。
デプロイメント プランを使用すると、アプリケーションを再デプロイしなくても、コンフィグレーション要素を動的に更新できます。
<enabled>
<dye-filtering-enabled>
<dye-mask>
<action>
デプロイメント プランを作成および使用する一般的なプロセスは次のとおりです。
アプリケーションに対して整形式の weblogic-diagnostics.xml 記述子ファイルを作成します。
空の記述子を作成することをお勧めします。そうすることで、コンフィグレーションを動的に変更する柔軟性を得られます。元の記述子ファイル内にモニタを作成し、デプロイメント プランを使用してその設定をオーバーライドすることができます。ただし、再デプロイしないとモニタを完全には削除できません。デプロイメント プランを使用して空の記述子にモニタを追加した場合、そのモニタはすべて削除することができます。診断アプリケーション モジュールのコンフィグレーションについては、「アプリケーション スコープのインスツルメンテーションのコンフィグレーション」を参照してください。
診断モジュールは diagnostics.xsd スキーマに準拠しています。このスキーマは、http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd
で参照できます。
該当するアーカイブの最上位の META-INF ディレクトリに、記述子ファイル weblogic-diagnostics.xml を置きます。
たとえば、weblogic.PlanGenerator を使用して、デプロイメント プランを作成します。「weblogic.PlanGenerator によるデプロイメント プランの作成」を参照してください。
サーバを起動します。必要に応じて「ホットスワップ」機能を有効にします。「ホットスワップ機能の有効化」を参照してください。
デプロイメント プランを使用してアプリケーションをデプロイします。「デプロイメント プランによるアプリケーションのデプロイ」を参照してください。
必要な場合は、プランを編集し、そのプランを使用してアプリケーションを更新します。「変更したプランによるアプリケーションの更新」を参照してください。
weblogic.PlanGenerator ツールを使用すると、初期状態のデプロイメント プランを作成できます。またこのツールには weblogic-diagnostics.xml 記述子の特定のプロパティを対話形式でオーバーライドする機能もあります。
PlanGenerator ツールは、選択したアプリケーションにあるすべての J2EE デプロイメント記述子を確認し、アプリケーション用に外部リソースをコンフィグレーションする WebLogic Server デプロイメント プロパティのうち、関連するものに対して、変数部分が指定されていないデプロイメント プランを作成します。
プランを作成するには、次の構文を使用します。
java weblogic.PlanGenerator -plan output-plan.xml [options] application-path
次に例を示します。
java weblogic.PlanGenerator -plan foo.plan -dynamics /test/apps/mywar
注意 : -dynamics オプションは、動的に更新できるオプションのみを含めてプランを生成することを指定します。 |
デプロイメント プランの作成と使用に関する詳細については、『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。
PlanGenerator の使用の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』の「weblogic.PlanGenerator コマンドライン リファレンス」および「新しい環境にデプロイするためのアプリケーションのエクスポート」を参照してください。
コード リスト 13-1 では、weblogic.PlanGenerator を使用して生成される簡単なデプロイメント プランを示します。(読みやすくするため、一部の情報は削除されています)。このプランでは、Servlet_Before_Service モニタを有効にして、アクション DisplayArgumentsAction および StackDumpAction にアタッチしています。
コード リスト 13-1 サンプルのデプロイメント計画
<?xml version='1.0' encoding='UTF-8'?> <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" global-variables="false"> <application-name>jsp_expr_root</application-name> <variable-definition> <!-- Servlet_Before_Service モニタに 2 つのアクションを追加する --> <variable> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Actions_113050559713922</name> <value>"DisplayArgumentsAction","StackDumpAction"</value> </variable> <-- Servlet_Before_Service モニタを有効にする --> <variable> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Enabled_113050559713927</name> <value>true</value> </variable> </variable-definition> <module-override> <module-name>jspExpressionWar</module-name> <module-type>war</module-type> <module-descriptor external="false"> <root-element>weblogic-web-app</root-element> <uri>WEB-INF/weblogic.xml</uri> </module-descriptor> <module-descriptor external="false"> <root-element>web-app</root-element> <uri>WEB-INF/web.xml</uri> </module-descriptor> <module-descriptor external="false"> <root-element>wldf-resource</root-element> <uri>META-INF/weblogic-diagnostics.xml</uri> <variable-assignment> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Actions_113050559713922</name> <xpath>/wldf-resource/instrumentation/wldf-instrumentation-monitor/[name="Servlet_Before_Service"]/action</xpath> </variable-assignment> <variable-assignment> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Enabled_113050559713927</name> <xpath>/wldf-resource/instrumentation/wldf-instrumentation-monitor/[name="Servlet_Before_Service"]/enabled</xpath> </variable-assignment> </module-descriptor> </module-override> <config-root xsi:nil="true"></config-root> </deployment-plan>
デプロイメント プランで指定できる診断モニタとアクションのリストと説明については、「WLDF インスツルメンテーション ライブラリ」を参照してください。
ホットスワップ機能を有効にするには、以下のコマンドライン スイッチを使用してサーバを起動します。
-javaagent:$WL_HOME/server/lib/diagnostics-agent.jar
デプロイメント プランによって提供される動的な制御を利用するには、プランを使用してアプリケーションをデプロイする必要があります。
デプロイメントを制御するには、Administration Console や WebLogic Scripting Tool (WLST) などの標準の WebLogic Server ツールを使用できます。たとえば、次の WLST コマンドでは、対応するデプロイメント プランでアプリケーションをデプロイします。
wls:/mydomain/serverConfig> deploy('myApp', './myApp.ear', 'myserver', 'nostage', './plan.xml')
デプロイメント後に有効な診断モニタ コンフィグレーションは、元の記述子と、プランから得られるオーバーライドされた属性値の組み合わせです。元の記述子に所定の名前のモニタが含まれず、プランでそのモニタの属性をオーバーライドした場合、そのモニタはアプリケーションで使用されるモニタのセットに追加されます。このように、アプリケーションが空の weblogic-diagnostics.xml 記述子と一緒にビルドされていれば、デプロイメント プロセス中やその後で、アプリケーションのアーカイブを変更せずにアプリケーションに診断モニタを追加できます。
コンフィグレーション設定を変更するには、デプロイメント プランを変更してから、ホットスワップが有効になっているかどうかに応じて、アプリケーションを更新または再デプロイします。(表 13-2 を参照して、アプリケーションを更新するだけでよい場合と再デプロイが必要な場合を確認してください)。更新または再デプロイを行うには、Administration Console や WebLogic Scripting Tool (WLST) などの標準の WebLogic Server ツールを使用できます。
ホットスワップを有効にした場合は、プランを使用してアプリケーションを「更新」すると、変更後のプランの値でアプリケーションのコンフィグレーションを更新できます。たとえば、以下の WLST コマンドは、プランを使用してアプリケーションを更新します。
wls:/mydomain/serverConfig> updateApplication('BigApp', 'c:/myapps/BigApp/newPlan/plan.xml', stageMode='STAGE', testMode='false')
ホットスワップを有効にしなかった場合、特定の変更を有効にするには、アプリケーションを「再デプロイ」する必要があります。たとえば、以下の WLST コマンドは、プランを使用してアプリケーションを再デプロイします。
wls:/mydomain/serverConfig> redeploy('myApp' 'c:/myapps/plan.xml')