SIP コンテナー・セッション・リポジトリーのトラブルシューティング

SIP コンテナー・セッション・リポジトリーのトラブルシューティングの際、SIP セッションの詳細を、指定のトレース・ファイルにダンプ出力する必要がある場合があります。

このタスクについて

SIP セッション・メモリー・ダンプ・ユーティリティーを使用して、SIP コンテナー・セッションに関連した問題のデバッグに役立てることができます。 SIP コンテナーは、SipContainerMBean メソッドを使用して、SIP コンテナーに対する複数の保守タイプの操作を実行します。これには、wsadmin (コマンド行インターフェース) を介したサーバー静止の開始などがあります。 このタスクでは、どのように SipContainerMBean メソッドを使用して、SIP コンテナーのメモリー内セッション・リポジトリーに含まれる SIP アプリケーション・セッションと SIP セッションの情報をダンプできるかを説明します。 さまざまなトレース方式を使用するように SIPContainerMBean メソッドを構成して、SIP セッションの詳細を指定のトレース・ファイルにダンプ出力するように指定することができます。

wsadmin スクリプトを使用してセッション・ダンプ・メソッドが開始されると、セッションに関して要求された情報が、 SystemOut.log ファイルに出力されるか (デフォルト)、または setDumpMethod メソッドにより設定されている場合は事前に定義されたソースに送信されます。

簡潔セッション・ダンプ・メソッドを使用した場合は、ダンプ・メソッドの実行ごとにセッション ID のみが出力されます。

詳細セッション・ダンプ・メソッドを使用した場合は、次のように実行されます。
  • SIP セッションの詳細だけでなく、トランザクション・ユーザーの詳細が (それが存在する場合は)、ダンプ・メソッドの実行ごとに出力されます。
  • トレース・ファイルにダンプ出力される属性は、JSR 289 仕様で公開を許可されている属性のみです。
  • 詳細メソッドは、appName、callID、ダイアログの状態、作成時間、属性名の情報をトレース・ファイルに出力します。

トレースの出力は SIP アプリケーションごとに実行されます。そのため、出力の前にすべての SIP セッション・データ構造のソートが行われます。 実動サーバーに対して SIPContainerMBean ダンプ機構を使用する場合は、優先順位の低いスレッドにこの作業をディスパッチして、すべてのダンプが別のスレッドで実行され、トレーシングがシステム全体の呼び出し処理の待ち時間に影響しないようにすることができます。

ダンプは、SIP セッションを作成しているトランザクション・ユーザーと、SipSession オブジェクトのないトランザクション・ユーザーを区別します。 また、存在しなくなった SIP セッション、有効でなくなった SIP セッション、あるいは、トレース・スナップショットのときに存在した SIP セッションなども明確にダンプに組み込まれます。

表 1. SIP セッション情報のダンプに使用される簡潔 SipContainerMBean メソッド. 以下の簡潔 SipContainerMBean メソッドが SIP セッション ID のダンプに使用されます。
メソッド 説明
dumpAllSASIds() すべての SIP アプリケーション・セッションの数と SIP アプリケーション・セッション ID を出力します。
dumpAllTUSipSessionIds() トランザクション・ユーザーの数とトランザクション・ユーザー (TU) 内の SIP セッション ID (存在する場合) を出力します。
表 2. SIP セッション情報のダンプに使用される詳細 SipContainerMBean メソッド. 以下の詳細 SipContainerMBean メソッドが SIP セッション詳細のダンプに使用されます。
メソッド 説明
dumpAllSASDetails() すべての SIP アプリケーション・セッションの数と SIP アプリケーション・セッション ID の詳細を出力します。
dumpAllTUSipSessionDetails() トランザクション・ユーザーの数とトランザクション・ユーザー (TU) 内の SIP セッション ID (存在する場合) の詳細を出力します。
dumpSASDetails(String sasId) sasId パラメーターによって指定される SIP アプリケーション・セッションの詳細を出力します。
dumpSipSessionDetails(String sessionId) sessionId パラメーターによって指定される SIP セッションの詳細を出力します。
注: 以下の情報を使用して、印刷出力の構文解析に役立ててください。
  • すべての印刷出力において、最初の行にはアプリケーション名とレコード数が記載されています。
  • 出力間の区切り文字は TAB です。
  • セッション属性間の区切り文字は ; (セミコロン) です。

手順

  1. wsadmin スクリプト・クライアントを開始します。
  2. 簡潔 SipContainerMBean メソッドを使用したいのか、詳細 SipContainerMBean メソッドを使用したいのかを決定します。
  3. 変数 apps に SipContainerMBean メソッド内のすべてのオブジェクトを設定します。 以下に例を示します。
    • Jacl の使用:
      set apps [$AdminControl queryNames type=SipContainerMBean,*]
    • Jython の使用:
      apps = AdminControl.queryNames('WebSphere:type=SipContainerMBean,*')
    このコマンドは、次の出力を戻します。
    • Jacl の使用:
      wsadmin>set apps [$AdminControl queryNames type=SipContainerMBean,*]
      WebSphere:cell=<cell_name>,version=<WAS_version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,
      type=SipContainerMBean,node=<node_name>,process=server1
    • Jython の使用:
      wsadmin>apps = AdminControl.queryNames('WebSphere:type=SipContainerMBean,*')
      	wsadmin>print apps
      WebSphere:cell=<cell_name>,version=<WAS_version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,
      type=SipContainerMBean,node=<node_name>,process=server1
  4. (オプション) SipContainerMBean メソッドを使用して、トレース出力を特定ファイルに書き込むかを指定します。 SipContainerMBean メソッドを使用して出力メソッドを構成する場合は setDumpMethod メソッドを呼び出してから、簡潔または詳細のメモリー・ダンプ・メソッドを呼び出してください。例えば、次のようにします。
    setDumpMethod(String_method, String_description) 
    string_method パラメーターには、ファイルの出力メソッドを使用することを指定し、string_description パラメーターには、ファイル・パス (ファイル名を含む) を指定します。このメソッドは、成功か失敗かをストリング表示で戻します。 このメソッドでは、特定ファイルへの出力設定のみをサポートします。例えば、次のようにします。
    setDumpMethod("file", “/opt/IBM/output.log”)
    file パラメーター値は、トレース・データをファイルに出力することを示し、/opt/IBM/output.log は、出力用のファイルへの絶対パスを示します。

    このオプションのメソッドを指定しない場合、出力は SystemOut.log ファイルに送信されます。

  5. SipContainerMBean メソッドに対して実行する SIP メモリー・ダンプ・ユーティリティー・メソッドを開始します。 簡潔 SipContainerMBean メソッドか、詳細 SipContainerMBean メソッドかのいずれかを指定します。例えば、次のようにします。
    • Jacl の使用:
      $AdminControl invoke $apps<method_name>
    • Jython の使用:
      AdminControl.invoke (apps, "<method_name>")
  6. (オプション) 使用しているすべての SipContainerMBean メソッドのリストを取得します。 次に例を示します。
    • Jacl の使用:
      $Help all $apps
    • Jython の使用:
      print Help.all(apps)
    このコマンドは、次の出力を戻します。
    Name: WebSphere:cell=<cell_name>,version=<WAS_version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,type=SipContainerMBean,node=<node_name>,process=<server_name>
    Description: null
    Class name: javax.management.modelmbean.RequiredModelMBean
    
    Attribute Type Access
    
    Operation
    void quiesce(boolean)
    void setWeight(int)
    int getWeight()
    int dumpAllSASIds()
    int dumpAllTUSipSessionIds()
    int dumpAllSASDetails()
    int dumpAllTUSipSessionDetails()
    int dumpSASDetails(java.lang.String)
    int dumpSipSessionDetails(java.lang.String)
    java.lang.String setDumpMethod(java.lang.String, java.lang.String)
    
    
    Notifications
    sip.container.overloaded
    sip.container.overload.cleared
    jmx.attribute.changed
    
    Constructors

タスクの結果

これで、SIP コンテナーの問題のトラブルシューティングに役立つ、SIP アプリケーション・セッションおよび SIP セッションについて必要なレベルのトレース情報が出力されるように SIP セッション・メモリー・ダンプ・ユーティリティーを構成できました。

以下に、単一のアプリケーション・サーバー構成で SipContainerMBean メソッドを使用したときの wsadmin スクリプト・コマンドとトレース・データ出力の例を示します。
  • 簡潔 dumpAllSASIds メソッドを使用する場合:
    • Jacl の使用:
      $AdminControl invoke $apps dumpAllSASIds
    • Jython の使用:
      AdminControl.invoke (apps, "dumpAllSASIds")
    結果として以下の情報が SystemOut.log ファイルに入ります。
    dump.ids.test.app1	2
    local.1347524282775_8
    local.1347524282775_7
    この情報は、次の形式で提供されます。
    [SAS_ID]  
  • 詳細 dumpAllSASDetails メソッドを使用し、ダンプ出力を /opt/IBM/output.log ファイルに書き出す指定をしている場合:
    • Jacl の使用:
      $AdminControl invoke $apps setDumpMethod {{FILE} {/opt/IBM/output.log}}
      $AdminControl invoke $apps dumpAllSASDetails
    • Jython を使用:
      AdminControl.invoke (apps, "setDumpMethod", ["FILE", "/opt/IBM/output.log"])
      AdminControl.invoke (apps, "dumpAllSASDetails")
    結果として以下の詳細情報が /opt/IBM/output.log ファイルに入ります。
    dump.ids.test.app1	1
    local.1348147884986_2	Sep 20,2012 16:31	DumpSasDetailsAttr; 
    この情報は、次の形式で提供されます。
    [SAS_ID]  [CreationTime] [attributes]
  • 簡潔 dumpAllTUSipSessionIds メソッドを使用して、トランザクション・ユーザー数とトランザクション・ユーザー内の SIP セッション ID を出力する場合:
    • Jacl の使用:
      $AdminControl invoke $apps dumpAllTUSipSessionIds
    • Jython を使用:
      AdminControl.invoke (apps, "dumpAllTUSipSessionIds")
    結果として以下の情報が SystemOut.log ファイルに入ります。
    DumpSessionsTest	1
    local.1349965420866_1_0	true	local.1349965420866_1_0_1
    この情報は、次の形式で提供されます。
    [TU_ID] [hasSIPSession] [SipSessionId] 
  • 詳細 dumpAllTUSipSessionDetails メソッドを使用して、トランザクション・ユーザー数とトランザクション・ユーザー内の SIP セッション ID の詳細を出力する場合:
    • Jacl の使用:
      $AdminControl invoke $apps dumpAllTUSipSessionDetails
    • Jython を使用:
      AdminControl.invoke (apps, "dumpAllTUSipSessionDetails")
    結果として以下の情報が SystemOut.log ファイルに入ります。
    DumpSessionsTest	1
    local.1349965420866_1_0	true	local.1349965420866_1_0_1	8-8548@9.148.57.128	2	false	INVITE
    		local.1349965420866_1	Jan 24,2013 14:41	TestSSAttr1; TestSSAttr2;
    この情報は、次の形式で提供されます。
    [TU_ID] [hasSIPSession] [SipSessionId] [Call-Id] [DialogState] [hasOutgoingTransaction] [initialMethod] [SAS_ID]  [CreationTime] [attributes]
  • 詳細 dumpSASDetails メソッドを使用して、sasID パラメーターによって指定される SIP アプリケーション・セッションの詳細を出力します。
    • Jacl の使用:
      $AdminControl invoke $apps dumpSASDetails  $sasId 
    • Jython を使用:
      AdminControl.invoke (apps, "dumpSASDetails ", "sasId")
    結果として以下の情報が SystemOut.log ファイルに入ります。
    local.1358950127352_20	Jan 23,2013 16:19	TestSASAttr1; TestSASAttr2; 
    要求されたセッションが存在しない場合は、エラー・メッセージが表示されます。 以下に例を示します。
    ERROR: Requested session <local.1358950127352_20> does not exist.
  • 詳細 dumpSipSessionDetails メソッドを使用して、sessionId パラメーターによって指定される SIP セッションの詳細を出力します。
    • Jacl の使用:
      $AdminControl invoke $apps dumpSipSessionDetails $sessionId
    • Jython を使用:
      AdminControl.invoke (apps, "dumpSipSessionDetails", "sessionId")
    結果として以下の情報が SystemOut.log ファイルに入ります。
    local.1358950127352_21_20_1	local.1358950127352_21	Jan 23,2013 16:22	TestSSAttr1; TestSSAttr2; 
    要求されたセッションが存在しない場合は、エラー・メッセージが表示されます。 以下に例を示します。
    エラー: 要求されたセッション <local.1358950127352_21_20_1> は存在しません。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsip_troublesipcontainersess
ファイル名:tsip_troublesipcontainersess.html