Web Service Aggregation サンプルのモニター

メッセージ・フローのモニターを使用する方法については、以下のリンクを使用してください。

モニター対象の決定

Web Service Aggregation サンプルで、ビジネス・データの一部分のフットプリントがモニターされます。 データのその部分がメッセージ・フローを通過したという証明が必要とされます。 以下の入力メッセージでの <PartNumber> データが追跡されます。 この場合、値は ABC1234 です。

サンプル・メッセージ

すべての入力ノードおよび出力ノードでモニターされる各メッセージ・フローを介した進行を追跡するために、データのこの部分が使用されます。

ビジネス・データのこの部分のモニター・イベントをまとめて結合するために、モニターのセットアップでの親トランザクション ID として、このデータが使用されます。

メッセージ・フローでのモニター・パラメーターの構成

サンプルでは、5 つのメッセージ・フローが使用され、WSAggregationFanOut.msgflow メッセージ・フローの SOAPInput ノードへ前の SOAP XML メッセージを書き込むことにより、そのサンプルが開始されます。

WSAggregationFanOut.msgflow

WSAggregationFanOut.msgflow

  1. SOAPInput ノードの「プロパティー」タブでのモニターの設定を参照するには、「モニター」タブをクリックします。 以下の図では、SOAPInput ノードのモニターの設定が示されています。

    Mon1

  2. 「トランザクションの開始」を含む行をクリックしてから、「編集」をクリックします。 「イベントの編集」ウィンドウが開きます。

    Mon2

    「イベント・ペイロード」では、ビジネス・データ PartNumber がモニターされることが指定されます。

  3. イベント相関については、「相関」タブをクリックしてください。

    Mon3

    「親トランザクション相関関係子」では、入力メッセージの PartNumber フィールドが指定されます。 ここと、モニターされる他のそれぞれのノードでフィールド参照を指定することにより、結果のイベントを検索して、ABC1234 と関係のある情報を探すことができます。

    ABC1234 は Web Service Aggregation サンプル内の各ビジネス・メッセージ内にありますが、そのフィールド名は、必ずしも XPATH 式 $Root/SOAP/Body/ns:OrderMessage/localElement/PartNumber であるとは限りません。 ノードごとに正しい XPATH 値が指定されていることを確認する必要があります。

このメッセージ・フロー内のそれぞれの MQOutput ノードおよび他の 4 つのメッセージ・フロー内のすべての入出力ノードが同様に構成されます。

WebSphere Message Broker ランタイムでのモニターの使用可能化

このサンプルのメッセージ・フローでブローカーのモニターを使用可能にするには、以下のコマンドを入力します。


mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationFanOut


mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationMQtoSOAP

mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationTargetWS

mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationSOAPtoMQ

mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationFanIn

ここで、myBROKER はブローカー名、MyEG は実行グループ名です。

これらのコマンドにより、モニター・イベントを処理するメッセージ・フロー (WSAggregationReadMonitordata.msgflow) 以外のすべてのメッセージ・フローのモニターが使用可能になります。

注: 実行グループ全体でのモニターを使用可能にしないでください。 また、WSAggregationReadMonitordata.msgflow メッセージ・フローで明示的にモニターを使用可能にしないでください。 そのようにすると、このフローが継続的にループになります。 これは、入力ノードが処理するメッセージごとに、入力ノードがモニター・イベントを発信するためです。 そして、そのイベントが同じメッセージ・フローによって読み取られ、別のイベントが生成されます。

モニターを使用不可にするには、以下のコマンドを入力します。


mqsichangeflowmonitoring myBROKER -c inactive -e MyEG -j

ここで、myBROKER はブローカー名、MyEG は実行グループ名です。

WebSphere MQ パブリッシュ/サブスクライブでのモニター・トピックの作成

WebSphere MQ Explorer で、以下のトピック・ストリングを含むトピックを作成します。


 
$SYS/Broker/myBROKER/Monitoring/MyEG/#

ここで、myBROKER はブローカー名、MyEG は実行グループ名です。

モニター・トピックに対するサブスクライブ

WebSphere MQ Explorer で、ターゲットの宛先を指定し、既に作成されているトピックに対するサブスクリプションを作成します。

WSAGGREGATIONSAMPLE.MONITOR

サブスクリプションに送信されるパブリケーションの処理

以下の図では、パブリケーション・メッセージの例が示されています。 この例では、ブローカー名が BROKERV70L、実行グループ名が default です。

Mon4

WSAggregationReadMonitordata.msgflow メッセージ・フローが WSAGGREGATIONSAMPLE.MONITOR キューからのモニター・データを処理します。 このキューは、MQInput ノードを使用して読み取られます。 MQInput ノードの Collector ノードのダウンストリームでは、相関 ID として、このビジネス・データ (親トランザクション ID) が指定されます。

属性 parentTransactionId で共通の値を持つ、すべてのモニター・イベント・メッセージが単一のコレクションにキャプチャーされるように、Collector ノードで相関パスが $Root/XMLNSC//@*[local-name()='parentTransactionId'] に設定されます。

ビジネス・データの一部分に関するすべてのイベントが読み取られると、要約メッセージが businessdata.xml ファイルに書き込まれます。 以下の図では、出力ファイル例である ABC1234.xml が示されています。

Mon5

「サンプルの実行」に戻る

サンプルのホームに戻る