WebSphere Business Monitor サンプルの実行
サンプルを実行するには、WebSphere Business Monitor サンプルを事前にインポートしてデプロイし、WebSphere Business Monitor サンプルのセットアップの手順を完了しておく必要があります。
以下のステップは、モデルからモニター・モデル・アプリケーションを作成し、そのモデルをベースにして Dashboard を作成する方法を示しています。
サンプルの実行時に問題を検出した場合は、
WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。
モニター・モデル・アプリケーションの生成
以下の手順は、WebSphere Business Monitor V7.0 用に書かれており、
Workbench のモニター情報のエクスポート・オプションを使用して作成された WBMonitorEventsModel モデルを使用します。
このモデルは、WebSphere Business Monitor 6.2 のバージョンではサポートされません。
WebSphere Business Monitor 6.2 を使用している場合、
MonitorModels.zip ファイル内にある ComplexContent モニター・モデルを使用する必要があります。
- WebSphere Message Broker Toolkit で WBMonitorEventsProject プロジェクトをオープンし、
「エクスポート」->「その他」->「ファイル・システム」をクリックして MonitorModels_V7.zip プロジェクト交換ファイルをエクスポートします。
- WebSphere Business Monitor 開発ツールキットで Monitoring Model Editor (MME) を開始します。
- 「インポート」>「その他」>「プロジェクトの交換」をクリックして、
MonitorModels_V7.zip プロジェクト交換ファイルを MME にインポートします。
- WBMonitorEvents_V7Project を開き、WBMonitorEventsModel.mm を選択します。WebSphere Business Monitor 6.2 を使用している場合は、
MonitorModels.zip ファイルをインポートし、WBMonitorEvents プロジェクトから ComplexContent.mm を選択します。
- モニター・モデルを右クリックし、メニューから「J2EE モニター・プロジェクトの生成」を選択します。
- 「J2EE モニター・プロジェクトの生成」ウィザードで、自動的に生成されたデフォルトのプロジェクト名をそのままにするか、または独自のプロジェクト名を指定することができます。
- 「J2EE アプリケーション・プロジェクト名」の名前を書き留めてから、「完了」をクリックします。
- コード生成が完了した後で、Java パースペクティブに切り替えます。
- 生成したエンタープライズ・アーカイブ (EAR) アプリケーション・プロジェクトを右クリックします。
デフォルトの J2EE アプリケーション・プロジェクト名を使用した場合、その名前は WBMonitorEventsModelApplication となっています。
- 生成した EAR アプリケーション・プロジェクトを右クリックし、「エクスポート」> 「Java EE」>「EAR ファイル」を選択します。
「エクスポート」ウィザードで「ブラウズ」をクリックして、EAR アプリケーションのエクスポート先となるファイルのディレクトリーと EAR ファイル名を選択します。
モニター・モデル・アプリケーションのインストールおよび構成
- モニター・サーバーを開始します。
- モニター・サーバーの管理コンソールをオープンし、
ナビゲーション・パネルで「アプリケーション」>「新規アプリケーション」 をクリックし、
「新規エンタープライズ・アプリケーション」を選択します。
- 「新規アプリケーションのパス」を、エクスポート後の EAR アプリケーションのロケーションに設定し、残りのパネルで「次へ」をクリックします。
- 要約情報を見直してから、「完了」をクリックします。
アプリケーションが正常にインストールされたというメッセージを確認します。
- 「保存」をクリックして、変更内容をマスター構成に保存します。
- 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」をクリックして、
「WBMonitorEventsModelApplication」を選択し、「開始」をクリックします。
これで、「アプリケーションの状況」に緑色の矢印が示されます。
WebSphere Business Monitor Dashboard の作成
これらの指示では、WebSphere Business Monitor 7.0 のダッシュボードの作成について説明します。
注: Monitor Server でセキュリティーが使用可能になっている場合は、ダッシュボードでモニター・モデルが表示されるようにするために、
Monitor Server 管理コンソールの「モニター・データ・セキュリティー」パネルを使用して、適切な許可を割り当てなければならないことがあります。
詳細は、
IBM WebSphere Business Process Management Information Center を参照してください。
- Web ブラウザーを開き、https://localhost:<WC_default_secure>/BusinessDashboard/login.jsp に進んで、Business Space Manager を開きます。
- Business Space Manager で、バナー上で「アクション」をクリックし、「スペースの作成」を選択します。
- 「スペース名」フィールドに新しいスペースの名前を入力します。
「保存」をクリックします。
- バナーにある「ページの作成 (+)」アイコンを選択して、ページを作成します。
- 「タイトル」フィールドにページの名前を入力します。
「保存」をクリックします。
- 作成されたページをクリックします。「ページの編集」をクリックします。
- 「ウィジェット」パネルで、「インスタンス」を選択し、「ページに追加 (+)」アイコンをクリックします。
- 「インスタンス」パネルで、メニューから「設定の編集」を選択します。
- 「表示/非表示」ページを選択します。
-
「モニター・モデルが何も表示されない場合、モデルがインストールされていないか、インストール済みのモデルを表示する権限がないかのいずれかです」というメッセージが表示される場合、
Monitor Server 管理コンソールに移動して以下のステップを完了してください。
- 「セキュリティー」> 「モニター・データ・セキュリティー」 を選択し、「ルート」をクリックします。
- 「モデル」ペインでモデルを強調表示します。
「KPI 管理者」を選択し、「ユーザー」をクリックします。
- 「検索」をクリックします。「使用可能」列で、使用するユーザーを選択します。
ユーザーを「選択済み」列に移動するには、
矢印 (>) をクリックして、「OK」をクリックします。
- 「モニター・データ・セキュリティー管理」ページで「OK」をクリックします。
- Business Space Manager に戻ってページを最新表示すると、インストール済みのモニター・モデルが表示されます。
- 「パーソナライズするモニター・コンテキストの選択」ペインで、WBMonitorEventsModel を選択します。
ドリルダウンし、TotalPurchaseOrderFlow を選択します。
「使用可能」の下のすべての列を選択してから、
二重矢印 (>>) をクリックして、それらの列を「選択済み」列に移動します。
- 「デフォルトとして設定」をクリックします。
- 「OK」をクリックします。
- 次に、いくつかの KPI を追加します。
- 「ウィジェット」パネルで、「KPI」を選択し、「ページに追加 (+)」アイコンをクリックします。
- 「KPI」パネルで、メニューから「設定の編集」を選択します。
- WBMonitorEventsModel の横の正符号 (+) をクリックして、KPI のリストを拡張します。
- リストからいくつかの KPI を選択します。
たとえば、
「ゴールド顧客のオーダー合計数」、
「正規顧客のオーダー合計数」、および
「TotalPurchaseOrderFlow 平均トランザクション所要時間」 を選択します。
- 「OK」をクリックします。
メッセージ駆動型 Bean (MDB) のインストールおよび構成
このサンプルでは、WebSphere MQ を JMS プロバイダーとして構成します。
WebSphere MQ を JMS プロバイダーとして構成するには、次のような定義を WebSphere Message Broker キュー・マネージャー上で事前に設定する必要があります。
- TCP リスナーを作成して開始します。
- サーバー接続チャネルを作成します。
- WebSphere MQ に付属している MQJMS_PSQ.mqsc ファイルを実行して、必要な JMS キューを WebSphere Message Broker キュー・マネージャー上で作成します。
この .mqsc ファイルは、java/bin サブディレクトリー内の WebSphere MQ 製品のインストール・ディレクトリーに入っています。
次のような、runmqsc コマンドを実行します。
runmqsc MB8QMGR < MQJMS_PSQ.mqsc
上記の 3 つのステップを完了して定義を設定し終わったら、次のようにして、WebSphere MQ を JMS プロバイダーとして構成することができます。
- 次のようにして、トピック接続ファクトリーを作成します。
- Monitor Server 管理コンソールから「リソース」>「JMS」>「JMS プロバイダー」を展開して、
リストから構成のための適切な有効範囲を選択します。
- 「リソース」>「JMS」の下で「トピック接続ファクトリー」を選択し、「新規」をクリックします。
- 「WebSphere MQ メッセージング・プロバイダー」をクリックし、「OK」をクリックします。
- 「名前」および「JNDI 名」フィールドに
名前および JNDI 名 (例えば topicConn および jms/topicConn) を入力して、
「次へ」>「次へ」をクリックします。
- WebSphere Message Broker キュー・マネージャーのキュー・マネージャー名を入力し、「次へ」をクリックします。
- 「トランスポート」を「クライアント」に設定します。
- WebSphere Message Broker キュー・マネージャーの実行場所のホスト名を入力します。
- 「ポート」フィールドに、WebSphere Message Broker キュー・マネージャーに定義した TCP リスナーのポート番号を入力します。
- 「チャネル」フィールドに、サーバー接続チャネルの名前を入力します。
- 「次へ」>「次へ」>「終了」をクリックします。
- 「保存」をクリックします。
- 以下のようにして、トピックを作成します。
- 「リソース」>「JMS」をクリックし、「トピック」を選択して、
「新規」をクリックします。
- 「WebSphere MQ メッセージング・プロバイダー」をクリックし、「OK」をクリックします。
- 「名前」および「JNDI 名」フィールドに
名前および JNDI 名 (例えば topicName および ) を入力します。
- 「ベース・トピック名」フィールドに、モニター・トピックの名前を入力します。
デフォルト構成を使用する場合、トピック名は
$SYS/Broker/MB8BROKER/Monitoring/WBMonitorEventsExecGroup/TotalPurchaseOrderFlow となります。
- 「OK」をクリックし、「保管」をクリックします。
- 次のようにして、MDB アプリケーションをインストールします。
- WebSphere Message Broker Toolkit で、MDB .zip ファイル WBEventEmitterEAR をエクスポートし、
このファイルを抽出します。
- 「アプリケーション」>「新規アプリケーション」をクリックし、
「新規エンタープライズ・アプリケーション」を選択することによって、
Monitor Server 管理コンソールに切り替えます。
- 「参照」をクリックして、.zip ファイルから解凍した WMBEventEmitter.ear ファイルを選択し、「次へ」をクリックします。
- 「詳細 - すべてのインストール・オプションおよびパラメーターを表示」を選択し、
「次へ」をクリックします。
- 「続行」をクリックします。
- 「メッセージ駆動型 Bean のリスナーのバインド」が表示されるまで、「次へ」をクリックします。
リスナー・ポートの名前を書き留めます。
- 残りの画面では「次へ」 をクリックし、最後の要約画面で「完了」をクリックします。
- 定義を保存します。
- オプション: モニター・サーバーでセキュリティーが使用可能な場合:
- 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」をクリックすることにより、
Monitor Server 管理コンソールに切り替えます。
- WMBEventEmitter をクリックします。「詳細プロパティー」の下で、「ユーザー/グループ・マッピングへのセキュリティー・ロール」を選択します。
- 「eventEmitter 役割」チェック・ボックスを選択し、「ユーザーのマップ」をクリックします。
- 「検索」をクリックし、「使用可能」 列から eventEmitter 役割にマップする管理ユーザーを選択します。
二重矢印 (>>) をクリックして、管理ユーザーを「選択済み」列へ移動し、
「OK」をクリックします。
- 「eventEmitter 役割」 チェック・ボックスを選択します。
- 「OK」をクリックし、「保管」をクリックします。
- 選択されたユーザーが eventEmitter 役割にマップされたので、eventEmitter 役割にユーザー名とパスワードを割り当てる必要があります。
- 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」をクリックすることにより、
Monitor Server 管理コンソールに切り替えます。
- WMBEventEmitter をクリックします。「詳細プロパティー」の下で「ユーザー RunAs 役割」を選択します。
- 「eventEmitter 役割」 チェック・ボックスを選択します。
- 「ユーザー名」および「パスワード」フィールドに、ユーザーの名前とパスワードを入力します。
- 「適用」をクリックします。「eventEmitter 役割」の横の「ユーザー名」フィールドにユーザーが表示されます。
- 「OK」をクリックし、「保管」をクリックします。
- 次のようにして MDB 用のリスナーを作成します。
- 「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」をクリックし、ご使用のサーバーをクリックします。
- 「通信」セクションの下で、「メッセージング」>「メッセージング・リスナー・サービス」>「リスナー・ポート」に進みます。
「新規」をクリックし、MDB アプリケーションのインストール時に記入したリスナー名を入力します。
- 「接続ファクトリー JNDI 名」フィールドに、例えば jms/topicConn などの、トピック接続ファクトリーの作成時に使用した JNDI 名を入力します。
- 「宛先 JNDI 名」フィールドに、jms/topicName などの、トピックの作成時に使用した JNDI 名を入力します。
- 「OK」をクリックし、「保管」をクリックします。
- サーバーを再始動します。
- 「サーバー」>「アプリケーション・サーバー」をクリックし、ご使用のサーバーをクリックします。
「通信」セクションの下で、「メッセージング」>「メッセージング・リスナー・サービス」>「リスナー・ポート」に進み、リスナー・ポートが稼働中かどうかを調べます。
- 「アプリケーション」>「エンタープライズ・アプリケーション」の下で、WMBEventEmitter が稼働中かどうかを調べます。
次のようにして、イベント・トピックに対して登録されているメッセージ・フローのサブスクリプションがあるかどうかを調べます。
- WebSphere MQ Explorer を開き、「キュー・マネージャー」フォルダーの下でキュー・マネージャー MB8QMGR を展開します。
- 「サブスクリプション」ペインを開くには、「サブスクリプション」をダブルクリックします。
- 「最新表示」ボタンをクリックし、
$SYS/Broker/MB8BROKER/Monitoring/WBMonitorEventsExecGroup/TotalPurchaseOrderFlow というトピック・ストリングのサブスクリプションが存在することを確認します。
MDB のソースが WMBEventEmitter.ear ファイルに含まれています。これは MDB の一例であり、以下の事柄を行うために使用できます。
- Message Broker からのイベント・メッセージを受信する
- それらのメッセージを Websphere Business Monitor で処理するために、適切なフォーマットで CEI サーバーに送信する
以下のステップでは、WMBEventEmitter.ear を Websphere Integration Developer 7.0 にインポートして、MDB のソース・コードを表示、編集、および再コンパイルできるようにする方法を説明します。
- Websphere Integration Developer を開始し、ワークスペースを選択します。
- メニューから「ファイル」>「インポート...」>「Java EE」>「EAR ファイル」を選択し、「次へ」をクリックします。
- 「EAR ファイル」フィールドで「参照」ボタンを使用し、WMBEventEmitter.ear の場所を選択します。選択すると、「EAR プロジェクト」フィールドに WMBEventEmitter が書き込まれます。「ターゲット・ランタイム」フィールドに、インストール済み環境に該当する値が入力されていることを確認します。「終了」をクリックします。Java EE パースペクティブにまだ切り替えていない場合は、このパースペクティブに切り替えるように求められます。「はい」をクリックして切り替えます。
- ワークスペースに、WMBEventEmitter と WMBEventEmitterEJB という 2 つのプロジェクトが表示されます。
- WMBEventEmitterEJB>ejbModule>com.ibm.wmb.event.cbe>WMBMDBEmitterBean.java の順に展開して、MDB のソースを表示します。
- 「インポート com.ibm.events を解決できません」と報告するエラーが表示された場合は、ビルド・パスに com.ibm.events.client.jar を追加する必要があります。そのためには、以下のようにします。
- WMBEventEmitterEJB を右クリックし、「ビルド・パス」>「ビルド・パスの構成」を選択します。
- 「ライブラリー」ページを選択し、「外部 JAR の追加...」をクリックします。
- ${WAS_INSTALL_PATH}/plugins ディレクトリー内の com.ibm.events.client.jar までナビゲートし、「OK」をクリックします。
アプリケーションのインストールのために MDB をエクスポートするには、次のようにします。
- WMBEventEmitter プロジェクトを右クリックし、「エクスポート」>「エクスポート...」>「Java EE」>「EAR ファイル」を選択します。
- 「次へ」をクリックします。
- 「参照」ボタンを使用して「宛先」フィールドを設定し、「終了」をクリックします。
- 『次のようにして、MDB アプリケーションをインストールします』のステップへ進み、MDB アプリケーションをサーバーへインストールします。
メッセージ・フロー内でのイベント・ソースの構成
イベント・ソースは、メッセージ・フロー内で既に構成されています。
TotalPurchaseOrderFlow メッセージ・フローをダブルクリックして、メッセージ・フロー・エディターを開きます。
メッセージ・フロー・パレットをクリックします。
「モニター」 タブに、使用可能になった 5 つのイベント・ソースが表示されます。
各イベント定義には「基本」、「相関」、および「シーケンス」タブが含まれます。
「基本」 タブは、「イベント・ソース」および「イベント名」を定義します。
また、このタブにはイベント・フィルターに設定するオプションがあり、メッセージ・ペイロードとメッセージ・ビット・ストリームからデータを追加します。
「相関」 タブは「イベント相関」情報を定義します。
「シーケンス」 タブは「イベント・シーケンス」情報を定義します。
この例では、イベント定義ごとにデフォルト設定が使用されます。
InputOrder ノードに定義された各イベントに、イベント・フィルターが設定されます。これらのフィルターにより、タイプ GUEST の顧客からのイベントが抑止されます。
3 つのイベント定義で、データがメッセージ・ペイロードから収集されます。
この抽出されたデータの一部は、その後 WebSphere Business Monitor Model で使用されます。
InputOrderTransactionStart
このイベントには、入力メッセージ・ペイロードからの以下の単純エレメントが含まれます (データ例と共に示されています)。
<PO:purchaseOrderID>11112222</PO:purchaseOrderID>
<PO:customerID>111111</PO:customerID>
このイベントにはまた、入力メッセージ・ペイロードからの以下の複合エレメントが含まれます (データ例と共に示されています)。
<PO:items>
<PO:item>
<PO:partNum>0239232</PO:partNum>
<PO:productName>compost</PO:productName>
<PO:quantity>14</PO:quantity>
<PO:price>4.99</PO:price>
</PO:item>
<PO:item>
<PO:partNum>0451481</PO:partNum>
<PO:productName>lawnmower</PO:productName>
<PO:quantity>10</PO:quantity>
<PO:price>79.99</PO:price>
</PO:item>
<PO:item>
<PO:partNum>0481257</PO:partNum>
<PO:productName>spade</PO:productName>
<PO:quantity>10</PO:quantity>
<PO:price>19.99</PO:price>
</PO:item>
</PO:items>
InputOrder MQInput ノードをダブルクリックします。
「基本」タブは、Event Payload セクションで、このデータをメッセージ・ペイロードから抽出するために使用される XPath 定義を示しています。
$Body/PO:purchaseOrder/PO:purchaseOrderID
$Body/PO:purchaseOrder/PO:customerID
$Body/PO:purchaseOrder/PO:items
GoldOrderTotalInTerminal および RegularOrderTotalInTerminal
どちらのイベント定義にも、InputOrder.TransactionStart に定義された同じメッセージ・データが含まれています。
また、両方のイベント定義は、ComputeTotalOrder 計算ノードに追加された priceSummary エレメントからのデータも取り込みます (データ例に示されています)。
<PO:priceSummary>
<PO:itemTotal>1069.66</PO:itemTotal>
<PO:deliveryCharges>19.99</PO:deliveryCharges>
<PO:discount>163.44</PO:discount>
<PO:invoice>926.21</PO:invoice>
</PO:priceSummary>
GoldOrderTotal または RegularOrderTotal の、いずれかの MQOutput ノードをダブルクリックします。
「基本」タブは、Event Payload セクションで、このデータをメッセージ・ペイロードから抽出するために使用される XPath 定義を示しています。
$Body/PO:purchaseOrderPriced/PO:purchaseOrderID
$Body/PO:purchaseOrderPriced/PO:customerType
$Body/PO:purchaseOrderPriced/PO:priceSummary
デプロイされたメッセージ・フロー内でのモニターの使用可能化
- まだメッセージ・フローをデプロイしていない場合は、
TotalPurchaseOrderArchive.bar ブローカー・アーカイブ (BAR) ファイルを使用してデプロイしてください。
- 次のようなコマンドを発行し、デプロイされた TotalPurchaseOrderFlow メッセージ・フローのモニターを使用可能にします。
mqsichangeflowmonitoring MB8BROKER -e WBMonitorEventsExecGroup
-f TotalPurchaseOrderFlow -c active
TotalPurchaseOrderFlow メッセージ・フローを通したメッセージの送信
- WBMonitorEventsProject で、「フロー・テスト」フォルダーをオープンし、TotalPurchaseOrderFlow_1.mbtest をダブルクリックします。
- 「メッセージ・フローの起動」をクリックします。
- 「メッセージの送信」をクリックして、最初の顧客オーダー・メッセージをメッセージ・フロー入力キューに送信します。
- 「デプロイメントのロケーション」ウィンドウで WBMonitorEventsExecGroup 実行グループを選択し、「完了」をクリックします。
- 上記のステップを繰り返します。それには、残りの「フロー・テスト」をオープンして、顧客オーダーの残りを発信します。
WebSphere Business Monitor Dashboard でのイベントの表示
WebSphere Business Monitor Dashboard をオープンし、前に作成したダッシュボードに切り替えます。
TotalPurchaseOrderFlow メッセージ・フローを通して送信したメッセージのイベントを表示することができます。
サンプルのホームに戻る