操作ガイド

     前  次    新しいウィンドウで目次を開く     
コンテンツの開始位置

WebLogic Server 診断フレームワーク (WLDF) の使用

以下の節では、Oracle Communications Converged Application Server の WebLogic 診断フレームワーク (WLDF) に統合する方法について説明します。

 


Oracle Communications Converged Application Server と WLDF の概要

WebLogic 診断フレームワーク (WLDF) は、WebLogic Server インスタンスとそのアプリケーションの診断情報を収集、アーカイブおよびアクセスするために共同作業する数多くのコンポーネントから構成されています。Oracle Communications Converged Application Server バージョン は、WLDF のさまざまなコンポーネントと統合することにより、デプロイされた SIP サブレットとともにエンジンおよび SIP データ層ノードの操作をモニタし、診断します。

以下の節では、上記の各 WLDF コンポーネントと Oracle Communications Converged Application Server の統合方法の詳細について説明します。WLDF の機能および異なる WLDF コンポーネントのコンフィグレーション方法の詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「WebLogic 診断のフレームワークのコンフィグレーションと使い方」を参照してください。WLDF コンソール拡張を使用して診断情報を収集してモニタする方法の詳細については、「WebLogic 診断フレームワーク コンソール拡張の使い方」を参照してください。

 


データ収集とロギング

Oracle Communications Converged Application Server は、以下の実行時 MBeans の属性からデータを収集するために WLDF のハーベスタ サービスを使用します。

WLDF コンソール拡張を使用して、ユーザのカスタム ビューにデータの図とグラフを追加することができます。これを行うには、最初に以下のようにドメイン ディレクトリの console-ext サブディレクトリに JAR ファイルをコピーして WLDF コンソール拡張を有効にします。

cp ~/bea/wlserver_10.3/server/lib/console-ext/diagnostics-console-extension.jar ~/bea/user_projects/domains/mydomain/console-ext

WLDF コンソール拡張にアクセスすると、Oracle Communications Converged Application Server 実行時 MBean の属性が拡張の [メトリクス] タブから使用できます。詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「WebLogic 診断フレームワーク コンソール拡張の使い方」を参照してください。

また、Oracle Communications Converged Application Server は、独立した専用のログ ファイルに SIP と Diameter メッセージをアーカイブするために WLDF Logger サービスを使用します (デフォルトでは、 domain_home/logs/server_name/sipMessages.log)。SIP Server Administration Console 拡張で [コンフィグレーション|メッセージ デバッグ] タブを使用して、ログ ファイルの名前と場所、ならびにログ ローテーション ポリシーをコンフィグレーションすることができます。詳細については、『SIP アプリケーションの開発』の「メッセージ ロギングの有効化」を参照してください。 独立したロギングとログ ローテーションを開始するには、サーバを再起動する必要があります。

 


監視と通知

Oracle Communications Converged Application Server の実行時 MBeans から収集したデータを使用して、サーバの診断状態を監視する自動モニタまたは「監視」を作成します。コンフィグレーションされた監視状態およびルールが発生した場合、SMTP、SNMP、JMX、または JMS を使用してメッセージを作成するために 1 つまたは複数の通知を監視で使用するようにコンフィグレーションすることができます。

監視と通知を使用するには、Administration Console の左ペインで [診断|診断モジュール] ノードを選択し、サーバをモニタするために必要な監視ルールおよび通知を使って新しいモジュールを作成します。監視のルールでは、Oracle Communications Converged Application Server の実行時 MBeans、ログ ファイルに書き込まれたメッセージ、または診断フレームワークで作成されたイベントから収集したメトリックスを使用することができます。詳細については、Oracle WebLogic Server 10g Release 3 Administration Console ヘルプの「監視と通知のコンフィグレーション」を参照してください。

 


イメージ キャプチャ

Oracle Communications Converged Application Server は、独自のイメージ キャプチャ情報を wldf で作成された診断イメージに追加します。診断イメージは、要求に応じて生成するか、監視ルールをコンフィグレーションして自動的に生成します。

診断イメージに含まれている情報については、Oracle のテクニカル サポート担当者がサーバの問題のトラブルシューティングに使用することを意図しています。これには以下の情報が含まれます。

診断イメージの生成の詳細については、Oracle WebLogic Server 10g Release 3 Administration Console ヘルプの「診断イメージのコンフィグレーションとキャプチャ」を参照してください。

 


インスツルメンテーション

WLDF インスツルメンテーション システムは、診断モニタを作成し、実行中に特定のポイントで Oracle Communications Converged Application Server またはアプリケーション コードに挿入します。Oracle Communications Converged Application Server をインスツルメンテーションサービスと統合して、組み込み DyeInjection モニタを提供します。このモニタが使用可能になると、特定の SIP メッセージがシステムに入力された場合、またはすでに存在する場合、診断コンテキストに仕分けフラグがインジェクトされます。仕分けフラグはモニタのコンフィグレーション プロパティと一定のリクエスト属性に基づいてインジェクトされています。

Oracle Communications Converged Application Server は、Weblogic Server の仕分けフラグの USER と ADDR に加え、以下の 表 3-1 に説明されている仕分けフラグも追加します。利用可能な WebLogic Server 仕分けフラグは、Oracle WebLogic Server 10g Release 3 ドキュメントの「DyeInjection モニタでサポートされる仕分け」に説明されています。

表 3-1 Oracle Communications Converged Application Server DyeInjection フラグ
仕分けフラグ
説明
PROTOCOL_SIP
このフラグは、すべての SIP プロトコル メッセージの診断コンテキストで設定される。
SIP_REQ
このフラグは、プロパティ SIP_REQ の値に一致するすべての SIP リクエストの診断コンテキストに設定される。
SIP_RES
このフラグは、プロパティ SIP_RES の値に一致するすべての SIP 応答用診断コンテキストに設定される。
SIP_REQURI
このフラグは、SIP リクエストのリクエスト URI がプロパティ SIP_REQURI の値に一致する場合に設定される。
SIP_ANY_HEADER
このフラグは、SIP リクエストにプロパティ SIP_ANY_HEADER の値に一致するヘッダが含まれている場合、設定される。SIP_ANY_HEADER の値は、messageType.headerName=headerValue の形式で指定される。ここで、headerValue は値または通常の式である。たとえば、プロパティは次のように指定できる。SIP_ANY_HEADER=request.Contact=sip:sipp@localhost:5061 または SIP_ANY_HEADER=response.Contact=sip:findme@172.17.30.50:5060。

仕分けフラグは、着信 SIP メッセージと発信 SIP メッセージの両方に適用できます。仕分けのフィルタリング処理にフラグを使用します。委託モニタが次の診断アクションをトリガするときに使用できます。モニタのコンフィグレーションの詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「診断コンテクストを管理するための DyeInjection モニタのコンフィグレーション」を参照してください。

Oracle Communications Converged Application Server には、アプリケーションおよびサーバ スコープに適用できる数多くの代理モニタがあります。これらのモニタは、DyeInjection モニタによって設定された仕分けフラグを調査することができます。代理モニタについては、表 3-2 を参照してください。

表 3-2 Oracle Communications Converged Application Server 診断モニタ
モニタ名
モニタ タイプ
スコープ
ポイントカット
occas/Sip_Servlet_Before_Service
Before
アプリケーション
すべての実装サブクラスの SipServlet.do* または SipServlet.service メソッドのエントリ時。
occas/Sip_Servlet_After_Service
After
アプリケーション
すべての実装サブクラスの SipServlet.do* または SipServlet.service メソッドの終了時。
occas/Sip_Servlet_Around_Service
Around
アプリケーション
すべての実装サブクラスの SipServlet.do* または SipServlet.service メソッドのエントリと終了時。
occas/Sip_Servlet_Before_Session
Before
アプリケーション
SipSession および SipApplicationSession の両方の getAttributesetremove、および invalidate メソッドのエントリ時。
occas/Sip_Servlet_After_Session
After
アプリケーション
SipSession および SipApplicationSession の両方の getAttributesetremove、および invalidate メソッドの終了時。
occas/Sip_Servlet_Around_Session
Around
アプリケーション
SipSession および SipApplicationSession の両方の getAttributesetremove、および invalidate メソッドのエントリと終了時。
occas/SipSessionDebug
Around
アプリケーション
これは、一定のポイントカットとデバッグアクションがある組み込みアプリケーション スコープ モニタです。ポイントカットの前後、モニタは 基になるオブジェクトをシリアライズした後で、SIP セッション のサイズを計算する SipSessionDebug 診断アクションが実行されます。
モニタのポイントカットは以下の通りです。
  1. SipServletMessage クラス階層のgetSessiongetApplicationSession の呼び出しの前後。
  2. SipSession および SipApplicationSession クラスの getAttributesetAttribute, および removeAttribute メソッド呼び出しの前後。

注意 : occas/SessionDebugAction-Before エベントは req.getSession() または req.getApplicationSession() ジョインポイントのためにトリガーされません。ジョインポイントを実行した後でのみ、セッションが検査できるようになると、occas/SessionDebugAction-After のみがトリガーされます。

注意 : Apache Ant を使用してアプリケーションをコンパイルすると、生成されたクラス ファイルに必要なデバッグ情報を埋め込まれるため、debug 属性を有効化する必要とします。

occas/Sip_Servlet_Before_Message_Send_Internal
Before
サーバ
ワイヤにメッセージを書き込む Oracle Communications Converged Application Server コードのエントリ時。
occas/Sip_Servlet_After_Message_Send_Internal
After
サーバ
ワイヤにメッセージを書き込む Oracle Communications Converged Application Server コードの終了時。
occas/Sip_Servlet_Around_Message_Send_Internal
Around
サーバ
ワイヤにメッセージを書き込む Oracle Communications Converged Application Server コードのエントリと終了時。

サーバ スコープ モニタのコンフィグレーション

サーバ スコープのモニタを使用するには、新しい診断モジュールを作成して、モジュールに 1 つまたは複数のモニタを作成しコンフィグレーションする必要があります。組み込み DyeInjection モニタの場合、特定のダイ フラグを定義するためにモニタ プロパティを追加します。occas/Sip_Servlet_Before_Message_Send_Internal などの代理モニタについては、モニタ プロパティを追加して診断アクションを定義します。

Oracle Communications Converged Application Server DyeInjection モニタ、代理モニタをコンフィグレーションして仕分けフィルタリングを有効にするには、次の手順に従います。

  1. ドメインの Administration Console にアクセスします。
  2. コンソールの左ペインの [診断|診断モジュール] ノードを選択します。
  3. [新規] をクリックして、新しい診断モジュールを作成します。モジュールに「instrumentationModule」のようなわかりやすい名前を付けて、[OK] をクリックします。
  4. テーブル内のモジュールのリストから新しい「instrumentationModule」を選択します。
  5. [ターゲット] タブを選択します。
  6. このモジュールを対象とするサーバを選択して、[保存] をクリックします。
  7. [診断|診断モジュール] ノードに戻って、モジュールのリストから「instrumentationModule」を選択します。
  8. [コンフィグレーション|インスツルメンテーション] タブを選択します。
  9. [有効化] を選択し、サーバ レベルでのインスツルメンテーションを有効にして、[保存] をクリックします。
  10. モジュールに DyeInjection モニタを追加するには、以下の手順に従います。
    1. [追加/削除] をクリックします。
    2. 利用可能なリストからモニタの名 (たとえば、DyeInjection) を選択し、矢印を使って選択したリストに移動します。
    3. [OK] をクリックします。
    4. 利用可能なモニタのリストから新たに作成したモニタを選択します。
    5. モニタが有効になっていることを確認し、[プロパティ] フィールドを編集して必要なプロパティを追加します。DyeInjection モニタのサンプル プロパティには、以下が含まれています。
    6.           SIP_RES=180
                SIP_REQ=INVITE
                SIP_ANY_HEADER=request.Contact=sip:sipp@localhost:5061
    7. [保存] をクリックします。
  11. モジュールに 1 つまたは複数の代理モニタを追加するには、以下の手順に従います。
    1. 新しいモジュールの名前を入力するには、[コンフィグレーション|インスツルメンテーション] タブに戻る。
    2. [追加/削除] をクリックします。
    3. 利用可能なリストから代理モニタ名 (例えば、occas/Sip_Servlet_Before_Message_Send_Internal) を選択し、矢印を使って選択したリストに移動します。
    4. [OK] をクリックします。
    5. 利用可能なモニタのリストから、新たに作成したモニタを選択します。
    6. モニタが有効になっていることを確認し、利用可能なリストから 1 つまたは複数のアクションを選択して、矢印を使って選択したリストに移動します。occas/Sip_Servlet_Before_Message_Send_Internal モニタでは、サンプル アクションに DisplayArgumentsActionStackDumpActionThreadDumpAction、および TraceAction が含まれています。
    7. [EnableDyeFiltering] の横にあるチェック ボックスを選択します。
    8. 利用可能なリストから SIP_REQ のような 1 つまたは複数の仕分けマスクを選択し、矢印を使って選択したリストに移動します。
    9. [保存] をクリックします。
    10. 注意 : 代理モニタを追加して作成するには、上記の手順を繰り返します。

アプリケーション スコープ モニタのコンフィグレーション

アプリケーション スコープ モニタを weblogic-diagnostics.xml という名前の XML コンフィグレーション ファイルにのコンフィグレーションします。weblogic-diagnostics.xml ファイルを SIP モジュールまたはエンタープライズ アプリケーションの META-INF ディレクトリに格納する必要があります。

XML ファイルは、アプリケーション レベルでインスツルメンテーションを有効化にし、ポイントカット、代理モニタ仕分けマスクおよびアクションを定義します。 コード リスト 3-1 には、occas/Sip_Servlet_Before_Service モニタを使用するコンフィグレーション ファイルの例を示します。

コード リスト 3-1 weblogic-diagnostics.xml ファイルの例
<wldf-resource xmlns="http://www.bea.com/ns/weblogic/90/diagnostics">
  <instrumentation>
    <enabled>true</enabled>
    <include>demo.ProxyServlet</include>
    <wldf-instrumentation-monitor>
      <name>occas/Sip_Servlet_Before_Service</name>
      <enabled>true</enabled>
      <dye-mask>SIP_ANY_HEADER</dye-mask>
      <dye-filtering-enabled>true</dye-filtering-enabled>
      <action>DisplayArgumentsAction</action>
    </wldf-instrumentation-monitor>  
   </instrumentation>
</wldf-resource>

この例では、診断コンテキストの着信するリクエストに SIP_ANY_HEADER 仕分けフラグが含まれている場合、occas/Sip_Servlet_Before_Service モニタがトリガされ、DisplayArgumentsAction が実行されます。

weblogic-diagnostics.xml コンフィグレーション ファイル作成の詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「インスツルメンテーションのコンフィグレーション」を参照してください。


  ページの先頭       前  次