2 wmbv7...
TRANSCRIPT
構成、管理、開発構成、管理、開発に関する変更に関する変更
2
内容
構成の単純化
WMBコンポーネントの簡素化
ブローカー管理セキュリティ
マルチインスタンス・ブローカー
管理コマンドの変更、追加
バックアップ、リストア方法の変更
運用、管理機能の拡張
MB Explorer
アカウンティング/統計機能の拡張
ビジネス・レベル・モニター
生産性の向上
パターン
影響分析
3
WMBコンポーネントの簡素化
ブローカー管理セキュリティ
マルチインスタンス・ブローカー
管理コマンドの変更、追加
バックアップ、リストア方法の変更
構成の単純化
4
WMBコンポーネントの簡素化
構成マネージャーの廃止
ブローカー・ドメインの概念がなくなり、ブローカーは個別に管理
ツールキット、MB Explorerから直接ブローカーに接続して、デプロイや管理を実施
構成マネージャー・プロキシー(CMP)API は利用可能
正式名は「WebSphere Message Broker用管理API」に変更– ただし、CMPという用語は継続して使用
直接ブローカーと接続
既存アプリケーションはほとんど変更なしで利用可能(APIが変更点を吸収)– 接続情報(ホスト名やポート番号)などは要変更
構成マネージャーによるセキュリティ機能(アクセス制御リスト)の廃止
MQベースのブローカー管理セキュリティに変更
ブローカーDBの廃止
データベースの導入、構成、運用が不要となり、前提SWはMQのみ
ブローカーの構成情報やデプロイされたリソースは、ファイル・システムに保管
mqsi[backup|restore]broker コマンドによるバックアップ/リストアが可能
ノードの機能として内部的に保管する情報はMQキューに保管
aggregation、collectionsなど
ユーザネームサーバーの廃止
Pub/Subブローカー機能は、MQに統合
5
WMBコンポーネントの簡素化
WMB V6.1のコンポーネント図
メッセージ・ブローカーツールキット
ブローカー・ドメイン
構成マネージャー
ユーザー・ネームサーバー
(オプション)
ブローカー
実行グループ
アプリケーション
アプリケーション
アプリケーション
アプリケーション
開発環境
実行環境
6
WMBコンポーネントの簡素化
WMB V7のコンポーネント図
ブローカー
実行グループ
アプリケーション
アプリケーション
アプリケーション
アプリケーション
メッセージ・ブローカーエクスプローラー
メッセージ・ブローカーツールキット
7
ブローカー管理セキュリティ
ブローカーとそのリソースに対する操作を実行するためのユーザ権限を制御
MQベースの権限設定
MQ権限(Inquire、Put、Set)が、それぞれブローカーに対する各操作の権限に対応
操作権限の設定は、MQのキュー(権限キュー)にユーザ/グループに対するMQ権限を設定
ブローカー・レベルの権限キュー : SYSTEM.BROKER.AUTH
実行グループ・レベルの権限キュー : SYSTEM.BROKER.AUTH.EGName (EGNameは実行グループ名)
ユーザが操作を実施する際、ブローカーは操作対象の権限キューにそのユーザ/グループに対する適切な権限が設定されているか確認
セキュリティ機能のアクティブ/インアクティブ化
ブローカー管理セキュリティによるアクセス制御を実施するかどうかブローカーのプロパティで設定
デフォルトはインアクティブ
ブローカー作成時の指定、および作成後の変更が可能
Execute
Write
Read
ブローカー権限
開始/停止
設定、作成/削除、デプロイ
表示
操作内容
Set
Put
Inquire
MQ権限
8
ブローカー管理セキュリティ
前提となるMQ権限
ブローカー管理セキュリティのアクティブ/インアクティブに関わらずブローカーに接続するために必要なMQ権限
Put + Get
Put
Connect
Inquire
MQ権限
SYSTEM.BROKER.DEPLOY.REPLY
SYSTEM.BROKER.DEPLOY.QUEUE
キューマネージャー
MQオブジェクト
setmqaut -m QMName -t qmgr -g GrpName +connect +inq
setmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.QUEUE -g GrpName +put
setmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.REPLY -g GrpName +put +get
設定例
<参考>
9
ブローカー管理セキュリティ
ブローカー管理セキュリティによる権限チェックの対象となる操作およびコマンド
WMBツールキットからブローカーに対する操作
MB Explorerからブローカーに対する操作
CMP APIを使用したJavaプログラムからブローカーに対する操作
ブローカーに対して操作を実施する以下のコマンド
mqsicreateexecutiongroup
mqsideleteexecutiongroup
mqsideploy
mqsilist
mqsimode
mqsireloadsecurity
mqsistartmsgflow
mqsistopmsgflow
10
ブローカー管理セキュリティ
アクティブ/インアクティブ設定
ブローカー作成時にアクティブ化する場合
指定しない場合は、インアクティブ
作成後の設定変更
アクティブ化
インアクティブ化
コマンドはブローカー停止時に実行
アクティブ化する際にはMQのキューが作成されるため、コマンド実行ユーザは mqbrkrs グループだけでなく、mqm グループのメンバーでもある必要がある
mqsicreatebroker BrokerName –q QmgrName –s active
mqsichangebroker BrokerName –s active
mqsichangebroker BrokerName –s inactive
11
ブローカー管理セキュリティ
各操作に必要な権限
ExecuteRead実行グループの開始/停止
メッセージフローの開始/停止
WriteRead実行グループ・プロパティの設定
デプロイ
実行グループからのリソース削除
ReadRead実行グループ・プロパティの表示
デプロイ済みオブジェクトのリスト表示
Read + Writeブローカー・プロパティの設定
構成可能サービスの作成/削除
構成可能サービス・プロパティの設定
実行グループの作成/削除
実行グループの名前変更
Read
SYSTEM.BROKER.AUTH SYSTEM.BROKER.AUTH.EGName
ブローカー・プロパティの表示
構成可能サービス・プロパティの表示
実行グループのリスト表示
操作
12
ブローカー管理セキュリティ
各コマンドに必要な権限
ExecuteReadmqsistartmsgflow *1
mqsistopmsgflow *1
WriteReadmqsideploy
mqsireloadsecurity
ReadReadmqsilist
Read + Writemqsicreateexecutiongroup
mqsideleteexecutiongroup
Read(参照の場合)
Write(変更の場合)
SYSTEM.BROKER.AUTH SYSTEM.BROKER.AUTH.EGName
mqsimode
コマンド
*1 オプションの指定によって必要な権限は異なります。詳細はマニュアルのコマンド解説でご確認ください。
13
ブローカー管理セキュリティ
権限キューに対する権限の設定方法
MQの権限設定コマンド(setmqaut)、もしくはMB/MQエクスプローラーを利用
設定変更は即座に(ブローカーやキューマネージャーの再起動なし)反映
setmqaut -m BK7QM -t queue -n SYSTEM.BROKER.AUTH -g ssg +inq +put
setmqaut -m BK7QM -t queue -n SYSTEM.BROKER.AUTH -g ssg -put
setmqaut -m BK7QM -t queue -n SYSTEM.BROKER.AUTH.ex01 -g ssg +inq
setmqaut -m BK7QM -t queue -n SYSTEM.BROKER.AUTH.ex* -g ssg +inq +put +set
コマンドによる設定例
・・・ブローカーへのRead/Write権限を付与
・・・ブローカーへのWrite権限を削除
・・・実行グループex01へのRead権限を付与
・・・実行グループex*への全権限を付与
※MQでは、オブジェクトを特定するプロファイルに対し、権限を設定setmqautコマンドでは、-nオプションでプロファイル名を指定し、ワイルドカード(?、*)を指定することも可能1つのオブジェクトに対し複数のプロファイルが該当する場合、最もオブジェクト名に合致するプロファイルの設定のみが有効となる
権限キューにはデフォルトでmqmグループにMQの全権限が付与され、mqbrkrsグループに対しても自動的にInquire、Put、Set権限が付与されます。
サーバー接続チャネルのMCAUSER属性にmqmグループやmqbrkrsグループのユーザを指定した場合、そのユーザIDで権限チェックが行われるため、ブローカーに対して全操作を実施できることになります。
WMB V6.1まではMCAUSER属性にユーザを設定していても、構成マネージャーによるACLではツールキット側のログイン・ユーザでチェックしていたため別途制限をかけることができましたが、WMB V7ではこの方法は利用できません。
14
ブローカー管理セキュリティ
設定の確認もMQのコマンド(dmpmqaut/dspmqaut)、MB/MQエクスプローラーを利用
dmpmqaut -m BK7QM -t q -n SYSTEM.BROKER.AUTH.ex01 -g ssg
プロファイル: SYSTEM.BROKER.AUTH.ex01
オブジェクト・タイプ: queue
エンティティー: ssg
エンティティー・タイプ: group
権限: inq
- - - - - - - -
プロファイル: SYSTEM.BROKER.AUTH.ex*
オブジェクト・タイプ: queue
エンティティー: ssg
エンティティー・タイプ: group
権限: put inq set
コマンドによる設定確認例
上記例では、実行グループex01にはプロファイルSYSTEM.BROKER.AUTH.ex01が有効となり、ssgグループに対してはRead権限のみが設定されていることになります。
15
ブローカー管理セキュリティ
権限キュー
SYSTEM.BROKER.AUTHは、ブローカー作成時にローカルキューとして作成される
ブローカー管理セキュリティがインアクティブでも作られる
SYSTEM.BROKER.AUTH.EGNameは、ブローカー管理セキュリティをアクティブにしたとき、およびアクティブ時に実行グループを作成したときに別名キューとして作られる
MQキュー名は48文字までなので、ブローカー管理セキュリティをアクティブにする場合、実行グループ名は29文字以内にすること
– 29文字以上の場合、超過分の文字列は権限キューの名前には使用されない(切り捨てられる)
– 29文字目以降が異なる複数の実行グループを作成した場合、同じ権限キューを使用することになる
– この場合、シスログに権限キューが共有されていることを示す警告(BIP2863)が出力される
実行グループ名にMQキューのネーミングルール外の文字を使用すると、権限キュー名ではアンダースコア( _ )に置換される
– MQのネーミングループ:英数字(大文字、小文字)、ピリオド( . )、フォワードスラッシュ( / )、アンダースコア( _ )、パーセント( % )
– 日本語の実行グループの場合、すべてアンダースコアの権限キューができる
実行グループを削除してもキューは残る– 実行グループを再作成する場合は、再利用できる
ブローカー管理セキュリティがアクティブのときに実行グループ名を変更する場合は、事前に新しい実行グループ名に対応した別名キューを作成し、適切な権限を付与しておく必要がある
– 別名キューのTARGET属性には、SYSTEM.BROKER.AUTHを指定
ブローカー削除時(mqsideletebrokerコマンド)に権限キューを削除するか指定できる
-s オプションを指定すると、権限キュー(SYSTEM.BROKER.AUTH、SYSTEM.BROKER.AUTH.EGName)を削除
指定しないと権限キューは残り、ブローカー再作成時に再利用できる
mqsideletebroker BrokerName –s
16
ブローカー管理セキュリティ
権限エラー例
Read権限のない実行グループ
MBエクスプローラーの画面
ツールキットからデプロイ権限のない実行グループにデプロイしたときのエラー
<参考>
17
ブローカー管理セキュリティ
ブローカー管理セキュリティの実装案
操作権限のレベルによってユーザをグルーピングし、各グループのIDに適切な権限を付与する
OSにグループやユーザを定義する必要があるため、ユーザが多いと管理が煩雑
開発者、運用担当者、管理者などでユーザをグルーピングし、ユーザIDを共有
各ユーザを適切なグループに所属
本番環境は、管理者と運用担当者のみに権限を付与
移行の注意点
旧環境のセキュリティ設定(構成マネージャーのACL設定)は移行できない
ブローカー・キューマネージャーにサーバー接続チャネル(SYSTEM.BKR.CONFIG)を作成する必要がある
構成マネージャーとキューマネージャーを共有していた場合、構成マネージャー削除にSYSTEM.BKR.CONFIGチャネルも削除される
OSレベルにもアクセス・ユーザーを定義する必要がある
ACLのときは、アクセス・ユーザがブローカー稼動マシンのOS上に定義されている必要はなかった
UNIX、Linuxでは、ユーザの一次グループにのみ権限を設定できる– 一次グループ設定が同じユーザは、同じレベルの権限を持つことになる
接続元のマシンを特定したセキュリティ制御はできない
旧バージョンではACLの接続元のマシンを指定することができた
実行グループ名にも注意が必要
日本語などMQのネーミングルールに準拠しない文字を使っている場合、権限キューが共有されるケースがある
18
blank
19
マルチインスタンス・ブローカー
マルチインスタンス・ブローカー
システム/MQ障害時に自動的にブローカーをフェイルオーバー
HAソフトウェア(PowerHAやMSCSなど)は不要
MQ v7.0.1のマルチインスタンス・キュー・マネージャーと連動
キューマネージャーの稼動モード(アクティブ/スタンバイ)に合わせて、ブローカーも稼動
キューマネージャーがフェイルオーバーすると自動的にブローカーもフェイルオーバー
MQのサービスとしてブローカーを登録しておくことも可能– ブローカーの明示的な起動が不要
構成情報はネットワーク・ストレージ上に配置
NFS V4前提
ネットワーク・アドレスの引継ぎは不可
手動フェイルオーバーも可能
ローリングメンテナンス可能
HA製品(PowerHAなど)を利用したHA構成も従来どおり可能
マイグレーションによるマルチインスタンス化はできない
ネットワークファイルシステム
アクティブ・インスタンス
NFSサーバ スタンバイ・インスタンス
QMGRQMGR
ブローカーブローカー構成情報
QMGRQMGR
ブローカーブローカー
20
マルチインスタンス・ブローカー
マルチインスタンス・キュー・マネージャー
NFS v4などのネットワーク・ストレージにキュー・マネージャーのトランザクションログ、キューファイルを配置
キュー・マネージャーは2つのモードで稼動
アクティブ・インスタンス–メッセージング・サービスを提供する
スタンバイ・インスタンス–アクティブ・インスタンスの稼動状況をチェックし、障害を検知したら、自らアクティブ・インスタンスとして稼動
ネットワーク・アドレスの引継ぎ機能は持たない
接続相手がMQ v7.0.1の場合は、チャネルの自動再接続、またはクライアント再接続機能により、自動的にフェールオーバー後のキュー・マネージャーとのメッセージ送受信が可能
【接続相手がキュー・マネージャー間接続の場合】
QMGR_A
本番機 スタンバイ機192.168.10.70 192.168.10.71
アクティブ・インスタンス スタンバイ・インスタンス
QMGR_A
ネットワーク・ストレージ
QMGR_1
192.168.10.83
MQチャネルの自動再接続
チャネルのCONNAMEに複数宛先を記述可能
<参考>
21
マルチインスタンス・ブローカー
構成概要
サーバA サーバB
NFSサーバ
ネットワークファイルシステム
キューマネージャー
ブローカー
キューマネージャー
ブローカー
ネットワーク・ファイルシステムの作成キューマネージャーやブローカーの構成情報を格納するネットワーク・ファイルシステムを作成
キューマネージャーの作成NFS上の構成データ用ディレクトリ、ログ用ディレクトリを指定してキューマネージャーを作成
キューマネージャーの登録アクティブ側で作成したキューマネージャーを登録
ブローカーの作成NFS上の構成データ用ディレクトリを指定してブローカーを作成
構成情報
ブローカーの登録アクティブ側で作成したブローカーを登録
定義情報
定義情報
22
マルチインスタンス・ブローカー
構成方法
共用ディレクトリの作成 @NFSサーバ
キューマネージャーとブローカーの構成情報を格納する共用ディレクトリを作成し、ネットワーク・ファイルシステムとして定義
共用ディレクトリ配下にキューマネージャーの構成データ用、ログ用、ブローカーの構成データ用のディレクトリを作成– 必要に応じて、各ディレクトリにファイルシステムを用意
サーバA、Bのキューマネージャー/ブローカー起動ユーザからアクセスできるように共用ディレクトリおよび配下の各ディレクトリのパーミッションを設定
ブローカー構成データ格納ディレクトリ
キューマネージャー構成データ格納ディレクトリ
/SharedDirectory
キューマネージャー・ログ格納ディレクトリ
NFSサーバ
WMB_DataPath
MQ_DataPath
MQ_LogPath
NFSとして定義する共用ディレクトリ
※マルチインスタンス・キューマネージャーのディレクトリ構成には複数の構成パターンがあります。詳細は下記リンクをご参照ください。http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.amqzag.doc/fa70152_.htm
23
マルチインスタンス・ブローカー
構成方法
マルチインスタンス・キューマネージャーの作成 @サーバA
キューマネージャーを作成– NFS上の構成データ用ディレクトリ、 ログ用ディレクトリを指定
サーバB側で実行するキューマネージャー登録コマンドを表示
マルチインスタンス・キューマネージャーの登録 @サーバB
サーバA側で作成したキューマネージャーを登録– サーバA側で確認した登録コマンドを実行
crtmqm –md MQ_DataPath -ld MQ_LogPath QmgrName
dspmqinf -o command QmgrName
-md オプションで構成データ用ディレクトリ、 -ld オプションでログ用ディレクトリを指定
$ dspmqinf –o command QM_1
addmqinf -s QueueManager -v Name=QM_1 -v Directory=QM_1 -v Prefix=/var/mqm -v DataPath=MQ_DataPath/QM_1
addmqinf -s QueueManager -v Name=QmgrName -v Directory=QmgrName -v Prefix=/var/mqm-v DataPath=MQ_DataPath/QmgrName
※事前にサーバA/Bからネットワーク・ファイルシステムをマウントし、アクセスできることを確認しておく
実行例
24
マルチインスタンス・ブローカー
構成方法
マルチインスタンス・ブローカーの作成 @サーバA
ブローカーを作成– NFS上の構成データ用ディレクトリを指定
マルチインスタンス・ブローカーの登録 @サーバB
サーバA側で作成したブローカーを登録
mqsicreatebroker BrokerName -q QmgrName -e WMB_DataPath
-q オプションでマルチインスタンス・キューマネージャー、 -e オプションで構成データ用ディレクトリを指定
mqsiaddbrokerinstance BrokerName -e WMB_DataPath
-e オプションで構成データ用ディレクトリを指定
※事前にサーバA/Bからネットワーク・ファイルシステムをマウントし、アクセスできることを確認しておく
25
マルチインスタンス・ブローカー
構成ディレクトリ・イメージ
サーバA
サーバB
ブローカー構成データ
キューマネージャー構成データ
ネットワーク・ファイルシステム
WMB_DataPath
registry
componentsmqsi BRK_1
BRK_1
MQ_DataPath QM_1
MQ_LogPath QM_1
qm.ini
キューマネージャー・ログ
ブローカー構成データ
registry/var/mqsi BRK_1 HASharedWorkPath
mqs.ini/var/mqm
registry/var/mqsi BRK_1 HASharedWorkPath
mqs.ini/var/mqm
NFSサーバ
/SharedDirectory
※ブローカー:BRK_1、キューマネージャー:QM_1の場合
(ファイル内でディレクトリを指定)
(ファイル内でディレクトリを指定)
26
マルチインスタンス・ブローカー
起動方法
マルチインスタンス・キューマネージャーの起動
-x オプションの指定は必須– 指定なし場合、マルチインスタンス・キューマネージャーとして起動せず、スタンバイ・インスタンスの起動ができない
稼動モード(アクティブ/スタンバイ)の指定はない– NFS上のロックファイルに対するロック取得可否でアクティブかスタンバイかが決まる
⇒先に起動したほうがアクティブ・インスタンスとなり、後から起動したほうがスタンバイ・インスタンスとなる
strmqm –x QmgrName
$ strmqm -x BK7QM
WebSphere MQ キュー・マネージャー BK7QM' を開始しています。
ログのやり直しフェーズ中に、キュー・マネージャー 'BK7QM' で 5 ログ・レコードがアクセスされました。
キュー・マネージャー 'BK7QM' のログのやり直しが完了しました。
キュー・マネージャー 'BK7QM' のトランザクション・マネージャーの状態が回復されました。
WebSphere MQ キュー・マネージャー 'BK7QM' が始動しました。
$ strmqm -x BK7QM
WebSphere MQ キュー・マネージャー BK7QM' を開始しています。
キュー・マネージャー ‘BK7QM’ のスタンバイ・インスタンスが開始されました。
別の場所でアクティブ・インスタンスが実行中です。
先にマルチインスタンス・キューマネージャーを起動した場合
既に他方でキューマネージャーがアクティブになっている状況でキューマネージャーを起動した場合
27
マルチインスタンス・ブローカー
起動方法
マルチインスタンス・ブローカーの起動
通常の起動方法と同じ– アクティブ・インスタンスのキューマネージャー側で実行すると、ブローカーもアクティブ・インスタンスで起動
– スタンバイ・インスタンスのキューマネージャー側で実行すると、ブローカーもスタンバイ・インスタンスで起動
– スタンバイ・インスタンス・ブローカーの場合、実行グループやHTTPリスナーのプロセスは起動しない
キューマネージャー未起動時にブローカーを起動した場合は、自動的に -x オプション付でキューマネージャーを起動
キューマネージャーのサービス・コンポーネントとしてブローカーを登録し、起動することも可能
mqsistart BrokerName
$ mqsistart BK7
BIP8096I: コマンドの起動は成功しました。コンポーネントが問題なく始動し、稼動中であることを確認するために システム・ログ
を検査してください。
$ mqsistart BK7
BIP8236I: ブローカー BK7 のスタンバイ・インスタンスが、スタンバイ・キュー・マネージャー BK7QM に対して開始されました
。 アクティブ・ブローカー・インスタンスとアクティブ・キュー・マネージャー・インスタンスが他の場所で稼働しています。
複数インスタンス・ブローカーが待機モードで始動しました。 現行のアクティブ・ブローカー・インスタンスとアクティブ・キュー
・マネージャー・インスタンスが終了するか、停止されるまでは、ブローカーはアクティブになりません。
処置は不要です。
アクティブ・インスタンス・キューマネージャー側でブローカーを起動した場合
スタンバイ・インスタンス・キューマネージャー側でブローカーを起動した場合
28
マルチインスタンス・ブローカー
停止方法
マルチインスタンス・ブローカーの停止
通常の停止方法と同じ– アクティブ/スタンバイどちらから先に実施してもよい
マルチインスタンス・キューマネージャーの停止
アクティブ・インスタンスは通常の停止方法と同じ
– アクティブ・インスタンスを通常の方法で停止すると、リモートのスタンバイ・インスタンスも連動して停止する
スタンバイ・インスタンスだけを停止する場合は、スタンバイ側で -x オプションを指定して停止– スタンバイ側では、-x オプションなしで停止コマンドを実行しても、スタンバイ・インスタンスは停止しない
キューマネージャーのサービス・コンポーネントとしてブローカーを登録し、停止することも可能
endmqm QmgrName
mqsistop BrokerName
endmqm -x QmgrName
※-c , -i , -p オプションとの併用も可能
29
マルチインスタンス・ブローカー
稼動状況確認
マルチインスタンス・キューマネージャーの稼動状況
dspmq -x
$ dspmq –xQMNAME(BK7QM) STATUS(実行中)
INSTANCE(lpar19) MODE(アクティブ)INSTANCE(lpar20) MODE(スタンバイ)
$ dspmq –xQMNAME(BK7QM) STATUS(スタンバイとして実行中)
INSTANCE(lpar19) MODE(アクティブ)INSTANCE(lpar20) MODE(スタンバイ)
$ dspmq –xQMNAME(BK7QM) STATUS(別の場所で実行中)
INSTANCE(lpar19) MODE(アクティブ)
サービス系でアクティブ・インスタンスが稼動し、待機系でスタンバイ・インスタンスが待機しているときに、サービス側で実行した場合
サービス系でアクティブ・インスタンスが稼動し、待機系でスタンバイ・インスタンスが待機しているときに、待機側で実行した場合
サービス系でアクティブ・インスタンスが稼動し、待機系でスタンバイ・インスタンスが稼動していないときに、待機側で実行した場合
30
マルチインスタンス・ブローカー
稼動状況確認
マルチインスタンス・ブローカーの稼動状況
実行グループやデプロイ・リソースの確認はアクティブ・インスタンス側でのみ可能
mqsilist
$ mqsilistBIP1295I: ブローカー ‘BK7’ は、複数インスタンス・キュー・マネージャー ‘BK7QM’ においてアクティブ・モードで稼働している複数インスタンス・ブローカーです。BIP8071I: コマンドが完了しました。
$ mqsilistBIP1294I: ブローカー ‘BK7’ は、複数インスタンス・キュー・マネージャー ‘BK7QM’ において待機モードで稼働している複数インスタンス・ブローカーです。 ブローカー・インスタンスがアクティブなときに、より多くの情報が得られます。BIP8071I: コマンドが完了しました。
サービス系で実行した場合
待機系で実行した場合
31
マルチインスタンス・ブローカー
フェイルオーバー
アクティブ・インスタンス側の障害時、スタンバイ・インスタンスが自動的にリソースを引き継ぎ、アクティブ・インスタンスとして稼動を開始
サーバA サーバB
NFSサーバ
NFS
キューマネージャー
ブローカー
キューマネージャー
ブローカー
アクティブ・インスタンスの障害を検知すると自動的にアクティブ・インスタンスとして稼動を開始
キューマネージャーがアクティブ・インスタンスになるとブローカーも自動的にアクティブ・インスタンスとして稼動を開始
システム障害、キューマネージャー障害、NFSとの接続障害
クライアント
アクティブ・インスタンス スタンバイ・インスタンス
32
マルチインスタンス・ブローカー
手動での引継ぎも可能
アクティブ・インスタンスのブローカーを停止
ブローカーを停止しただけでは引継ぎは行われない
アクティブ・インスタンスのキューマネージャーを停止
-s オプション付で endmqm を実行-c 、–i 、–p オプションとの併用も可能
アクティブ・インスタンスは完全に停止する– スタンバイ・インスタンスにはならない
アクティブ側のキューマネージャー停止後、スタンバイ側のキューマネージャーおよびブローカーが自動的にアクティブ・インスタンスとなる
endmqm –s QmgrName
mqsistop BrokerName
33
マルチインスタンス・ブローカー
マルチインスタンス・ブローカーの削除手順
アクティブ、スタンバイの両ブローカーを停止 @サーバA、B
ブローカー登録の削除 @サーバB
ブローカーの削除 @サーバA
mqsiremovebrokerinstance BrokerName
mqsideletebroker BrokerName
34
マルチインスタンス・ブローカー
マルチインスタンス・キューマネージャーの削除手順
アクティブ、スタンバイの両キューマネージャーを停止 @サーバA、B
キューマネージャーの削除 @どちらか一方のサーバ
– NFS上の構成データ、ログが削除される
キューマネージャー登録の削除 @他方のサーバ
– mqs.iniからエントリーを削除される
– dltmqm QmgrName でもよい
dltmqm QmgrName
rmvmqinf QmgrName
35
マルチインスタンス・ブローカー
バックアップ、リストア
通常の方法と同じ
コマンドが自動的にマルチインスタンスであることを認識
バックアップ
mqsibackupbroker BrokerName –d /BackupDirectory –a FileName.zip– コマンドが自動的にマルチインスタンス・ブローカーであることを認識し、NFS上からバックアップを取得
リストア
mqsirestorebroker BrokerName –d /BackupDirectory –a FileName.zip– コマンドが自動的にマルチインスタンス・ブローカーであることを認識し、NFS上にリストア
36
blank
37
管理コマンドの変更、追加
変更
構成マネージャーに接続して操作していたコマンド(mqsideploy、mqsistartmsgflowなど)
V7では、コマンドが直接ブローカーに接続して操作を実行
フロー起動/停止コマンド(mqsistartmsgflow、mqsistopmsgflow)
実行グループ自体の起動/停止も可能になった
リスト・コマンド(mqsilist)
リソースの詳細レベルまで表示できるようになった– 表示レベルの指定が可能
デフォルトの表示形式が変わった
ブローカー作成コマンド(mqsicreatebroker)
ブローカーDB、ユーザ・ネーム・サーバー関連のオプションがなくなった– データソース名(-n )、DBアクセスユーザ(-u )/パスワード(-p )、ユーザ・ネーム・サーバのQmgr(-s )、Pub/Subアクセス制御(-j )
サービス・ユーザーID(-i )/パスワード(-a )のオプションがなくなった(Windows版以外)– Windows環境では、ブローカー作成時にブローカー起動用のWindowsサービスが作成され、
サービス・ユーザーIDおよびパスワードはこのサービスのログオン・ユーザー/パスワードに使用される
追加
マルチインスタンス・ブローカー関連コマンド
ブローカーのバックアップ、リストア関連コマンド
削除
構成マネージャー、ブローカーDB、ユーザ・ネーム・サーバ、Pub/Sub関連コマンド
38
管理コマンドの変更、追加
構成マネージャーに接続して操作していたコマンドの変更点
mqsideploy、mqsi[create|delete]executiongroup、mqsi[start|stop]msgflow
コマンドは、直接ブローカーに接続して操作を実施
ブローカーへの接続情報を指定してコマンドを実行
ブローカーの指定方法は、以下の3通り
ブローカー名を指定(ローカル・ブローカーのみ)
ブローカー接続パラメータ・ファイル(*.broker)を指定(-n オプション)
– ブローカー接続パラメータ・ファイルは、MB Explorerからブローカーを右クリック→「*.brokerをエクスポート」で生成
接続情報を指定(-i IPアドレス/ホスト名 –p ポート番号 –q キューマネージャー名)
mqsideploy -i server1 -p 7777 -q BK2QM -e ex1 -a C:¥work¥Simple.bar
mqsideploy BK1 -e ex1 -a C:¥work¥Simple.bar
mqsideploy –n BK1.broker -e ex1 -a C:¥work¥Simple.bar
39
管理コマンドの変更、追加
フロー起動/停止コマンド(mqsistartmsgflow、mqsistopmsgflow)の変更点
実行グループ・プロセス(DataFlowEngine)自体の起動/停止が可能になった
V6.1までは実行グループ・プロセスの明示的な起動/停止はできない
フローの指定(-m flowName、-j )なしに、-g、もしくは-e egName オプションだけを指定すると、全て、もしくは指定の実行グループのプロセスが起動/停止する
V6.1で-e egNameだけを指定した場合、実行グループ上の全てのフローの起動/停止を意味していたが、V7では実行グループの起動/停止を意味する
– 実行グループ上の全てのフローを起動/停止する場合は、別途-j を指定する
実行グループ起動時、フローのステータスは前回のステータスを引き継ぐ– 前回実行グループ停止時に停止中だったフローは、実行グループ起動後も停止したまま
フローの起動/停止を行う(-m flowName、-j を指定する)場合は、実行グループ・プロセスが起動している必要がある
mqsistartmsgflow brokerSpec (-g | -e egName) [(-m flowName | -j)] [-w timeoutSecs] [-v traceFileName]
mqsistopmsgflow brokerSpec (-g | -e egName) [(-m flowName | -j)] [-w timeoutSecs] [-v traceFileName]
コマンド・オプション:‘brokerSpec’は以下のうちのいずれかです。(a) ‘brokerName’ : ローカルに定義されているブローカーの名前(b) ‘-n brokerFileName’ : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)(c) ‘-i ipAddress -p port -q qMgr’ : リモート・ブローカーのホスト名、ポート、およびキュー・マネージャー
‘-g’ すべての実行グループ。‘-e egName’ メッセージフローを開始/停止する実行グループの名前。
合わせて-m flowName、もしくは-jの指定がない場合、実行グループ・プロセスが起動/停止します。‘-m flowName’ 開始/停止するメッセージ・フローの名前。‘-j’ 指定されたブローカーまたは実行グループのすべてのメッセージ・フローを開始/停止します。‘-w timeoutSecs’ 各オブジェクトの開始/停止を待機する最大秒数 (デフォルトは 60)。‘-v traceFileName’ 指定されたファイルに詳細内部トレースを送信します。
40
管理コマンドの変更、追加
リスト・コマンド(mqsilist)の変更点
ブローカーの指定方法が拡張
リモートのブローカーも表示可能
再帰的にサブ・コンポーネントも表示可能(-r )
詳細レベルを指定可能(-d )
デフォルトの表示形式が変更
応答の待機時間やトレース設定も可能(-w 、-v )
mqsilist ([-a] | brokerSpec [-e egName]) [-r] [-d detailLevel] [-w timeoutSecs] [-v traceFileName]
コマンド・オプション:‘-a’ このマシン上のすべてのバージョンのブローカーをリストします (z/OS では適用外)‘brokerSpec’ ブローカーに対して構成されている実行グループをリストします。以下のいずれかにします。
(a) ‘brokerName’ : ローカルに定義されているブローカーの名前(b) ‘-n brokerFileName’ : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)(c) ‘-i ipAddress -p port -q qMgr’ : リモート・ブローカーのホスト名、ポート、およびキュー・マネージャー
‘-e egName’ 実行グループに対して構成されたデプロイ済みオブジェクトをリストします。‘-r’ recursive 再帰的 (サブコンポーネントに関する情報を表示、-d 0 では無視)‘-d detailLevel’ 表示する情報量を制御します。 有効な値は次のとおりです。
0 = 最小限の情報を表示します (以前のバージョンの mqsilist と同じ)1 = オブジェクトあたり 1 行の要約を表示します (デフォルト)2 = 詳細情報を表示します
‘-w timeoutSecs’ ブローカーの応答を待機する最大秒数 (デフォルトは 60秒)‘-v traceFileName’ 指定されたファイルにコマンド実行の詳細内部トレースを送信します。
41
管理コマンドの変更、追加
実行例
mqsilistBIP1284I: キュー・マネージャー ‘BK1QM’ のブローカー ‘BK1’ が実行中。BIP1285I: キュー・マネージャー ‘BK2QM’ のブローカー ‘BK2’ が停止しています。BIP8071I: コマンドが完了しました。
mqsilist -d 0BIP8099I: Broker: BK1 - BK1QMBIP8099I: Broker: BK2 - BK2QMBIP8071I: コマンドが完了しました。
mqsilist -d 2===================================BIP1284I: キュー・マネージャー ‘BK1QM’ のブローカー ‘BK1’ が実行中です。ブローカー・バージョン: ‘7000’ (ビルド ‘S000-L91028’)プラットフォーム: ‘Microsoft Windows XP’, ‘5.1 build 2600 Service Pack 2’, ‘x86‘プロセス ID: ’1072‘簡略説明: ’‘詳細説明: ’‘===================================BIP1285I: キュー・マネージャー ’BK2QM’ のブローカー ‘BK2’ が停止しています。詳しくは、ブローカーを開始してください。BIP8071I: コマンドが完了しました。
オプション指定なし(デフォルト)のリスト表示 ※旧バージョンとは表示が異なる
最小限のレベル指定のリスト表示 ※旧バージョンと同じ表示形式
詳細レベル指定のリスト表示
42
管理コマンドの変更、追加
実行例
mqsilist BK1 -e ex1 -d 2--------BIP1288I: 実行グループ ‘ex1’ のメッセージ・フロー ‘simple_01’ が実行中です。追加スレッド・インスタンス: ‘0‘デプロイ: ’10/01/19 16:58’ (bar ファイル ‘C:¥work¥Simple.bar’ 内)最終編集: ‘10/01/18 21:17’。ユーザー定義プロパティー名:キーワード:BIP8071I: コマンドが完了しました。
mqsilist –r===================================BIP1284I: キュー・マネージャー ‘BK1QM’ のブローカー ‘BK1’ が実行中です。-----------------------------------BIP1286I: ブローカー ‘BK1’ の実行グループ ‘ex1’ が実行中です。BIP1288I: 実行グループ ‘ex1’ のメッセージ・フロー ‘simple_01’ が実行中です。-----------------------------------BIP1287I: ブローカー ‘BK1’ の実行グループ ‘ex2’ が停止しています。BIP1283I: 実行グループ ‘ex2’ には何もデプロイされていません。===================================BIP1285I: キュー・マネージャー ‘BK2QM’ のブローカー ‘BK2’ が停止しています。BIP8071I: コマンドが完了しました。
詳細レベルでのブローカーおよび実行グループ指定のリスト表示
再帰指定のリスト表示
43
管理コマンドの変更、追加
コマンド一覧
ブローカー・コマンドmqsichangebrokermqsicreatebrokermqsicreateexecutiongroupmqsideletebrokermqsideleteexecutiongroupmqsimodemqsireadbarmqsireloadmqsireportbroker
mqsiaddbrokerinstancemqsiremovebrokerinstancemqsibackupbrokermqsirestorebroker
データベース・コマンドmqsimanagexalinksmqsisetdbparms
mqsichangedbimgrmqsicreatedbmqsideletedbmqsi_setupdatabase
セキュリティ・コマンドmqsireloadsecuritymqsisetsecurity
開始、停止コマンドmqsistartmqsistartmsgflowmqsistopmqsistopmsgflow
リスト、トレース・コマンドmqsichangetracemqsiformatlogmqsilistmqsireadlogmqsireporttrace
マイグレーション・コマンドmqsimigratecomponents
プロパティ・コマンドmqsichangepropertiesmqsireportproperties
モニター・コマンドmqsichangeflowmonitoringmqsireportflowmonitoring
統計コマンドmqsichangeflowstatsmqsireportflowstats
デプロイ、その他mqsideploymqsichangeflowuserexitsmqsicreateconfigurableservicemqsicvpmqsideleteconfigurableservicemqsireportflowuserexits
構成マネージャー・コマンドmqsibackupconfigmgrmqsichangeconfigmgrmqsicreateconfigmgrmqsideleteconfigmgrmqsireportconfigmgrmqsirestoreconfigmgr
ACLコマンドmqsicreateaclentrymqsideleteaclentrymqsilistaclentry
ユーザ・ネーム・サーバ・コマンドmqsichangeusernameservermqsicreateusernameservermqsidelteusernameserver
Pub/Subインターオペラビリティ・コマンドmqsiclearmqpubsubmqsijoinmqpubsub
新規追加
削除
削除
※Toolkitコマンドは除く
<参考>
44
バックアップ、リストア方法の変更
ブローカーのバックアップ、リストア
コマンド1つでブローカーのバックアップを取得可能
ブローカーDBがなくなったことで、1回のコマンド実行でバックアップを取得可能– WMB V6.1までは、ブローカーDBと構成ディレクトリのバックアップをそれぞれ取得
ブローカー実行時に取得可能– メッセージフローの稼動には影響を与えない
– 構成変更中やデプロイ中の取得は不可
マルチインスタンス・ブローカー構成の場合でも、バックアップ・リストア方法は同じ
コマンドが自動的にマルチインスタンス構成を認識
45
バックアップ、リストア方法の変更
バックアップ・コマンド
ブローカーの現在の構成情報を取得
デプロイ済みリソース :メッセージ・フロー、ディクショナリー、JAR ファイルなど
実行グループ
ブローカー構成 :構成可能サービスなど
以下のリソースのバックアップは行わない– 一時的情報 :未完了のAggregationまたはCollectionなど
– 実行可能コード :ユーザー定義拡張機能に関連付けられているリソース (ノード、パーサー、およびExit) など
– MQレベルのセキュリティ設定
>>-mqsibackupbroker--brokerName-- -d -- directory -------------->
>--+---------------------+--+-----------------------+----------->
'- -a -- archiveName -' '- -v -- traceFileName -'
>--+------+----------------------------------------------------><
'- -f -'
オプション
brokerName :ブローカーの名前
-d directory :バックアップ・ファイルを作成するディレクトリー
-a archiveName :バックアップ・ファイルの名前(デフォルト名 brokerName_yyMMdd_HHmmss.zip)
-v traceFileName :コマンドによって実行されるアクションの詳細を記録するトレース・ファイルの場所
-f :ブローカーの構成の 1 つ以上の部分が読み取れない場合に、不完全なバックアップ・ファイルを強制的に作成します。
46
バックアップ、リストア方法の変更
リストア・コマンド
バックアップ・ファイルからブローカーの構成情報をリストア
別のマシン上にリストアする場合、OSレベル、ブローカー名、キューマネージャー名は同一であること– mqsicreatebrokerでブローカーを作成した状態でリストアを実施
ブローカー停止時に実行
>>-mqsirestorebroker--brokerName-- -d -- directory ------------->
>-- -a -- archiveName --+------+--+-----------------------+----><
'- -c -' '- -v -- traceFileName -'
オプション
brokerName :リストアするブローカーの名前
-d directory :バックアップ・ファイルを保管するディレクトリー
-a archiveName :バックアップ・ファイルの名前
-c :同じコンピューターの他のブローカーと共用しているすべての構成データ(例えば、プロファイル) をリストアする場合、このパラメーターを指定
-v traceFileName :コマンドによって実行されるアクションの詳細を記録するトレース・ファイルの場所
47
MB Explorer
アカウンティング/統計機能の拡張
ビジネス・レベル・モニター
運用、管理機能の拡張
48
MB Explorer
MB Explorer(MBX)の提供
Eclipseのプラグインとして提供され、MQ Explorerに組み込みブローカーとMQを一元管理
MB Explorerを導入するだけで自動的にMQ Explorerに組み込まれる
サポートパックIS02として提供していた機能を拡張し、製品標準の機能として提供
49
MB Explorer
MB Explorerで可能なブローカー操作
ローカル・ブローカーの作成、削除
ローカル/リモート・ブローカーの実行グループの作成、削除
ローカル/リモート・ブローカー、実行グループ、フローの状況表示、起動、停止
ブローカー、実行グループ、フローのプロパティ設定
メッセージフローの追加インスタンス、実行グループのJVM関連プロパティなど
セキュリティ・プロファイル、ポリシー・セットの構成(V6.1ではツールキットから実施)
BARファイルの編集、デプロイ
BARファイルをツールキットからドラッグ&ドロップでインポート、およびデプロイ可能
1回の操作で複数の実行グループへデプロイ可能
ブローカー管理ログの表示、管理
ブローカー管理キューの表示
構成可能サービスの作成、管理
メッセージ・フロー統計の表示、開始、停止
リソース統計の表示、開始、停止
ユーザー・トレースの設定
サービス・トレースの設定
トレース・ノードの使用可能/不可化(V6.1ではツールキットから実施)
V7New
V7New
V7New
V7New
V7New
V7New
V7New
50
MB Explorer
MQ管理
WMB管理
ローカルのブローカーは自動的に表示される作成、削除も可能
リモートのブローカーは接続情報を設定して表示可能
キューマネージャー側にもブローカーが表示される
BARファイルはインポートもしくは、ツールキットからドラッグ&ドロップで取り込む
51
MB Explorer
ブローカー操作
プロパティ設定
52
MB Explorer
実行グループ操作
実行グループの停止が可能DataFlowEngineプロセスも停止する
53
MB Explorer
フロー操作
プロパティ設定
54
MB Explorer
管理キューの表示
処理中/待ちの操作要求
管理ログの表示
55
MB Explorer
操作要求のキャンセル
56
MB Explorer
Shift/Ctrl+クリックで実行グループを複数選択可能
BARファイルを直接ドラッグ&ドロップで実行グループにデプロイも可能
BARファイルのデプロイ
57
ツールキットの変更点
ツールキットが開発/テスト・ツールの位置づけになったことでブローカーの操作機能は削減
「ブローカー管理」パースペクティブの廃止
「ブローカー・アプリケーションの開発」パースペクティブのブローカービューでブローカー操作
ローカルブローカーの作成/削除
ローカル/リモートブローカーの開始/停止
実行グループの作成/削除、開始/停止
メッセージフローの開始/停止、デプロイ
V7ツールキットでできなくなったこと
トレース・ノードの使用可能/不可化
ユーザー・トレースの設定
ブローカー、実行グループのプロパティ設定
実行グループの名前変更
セキュリティ・プロファイル、ポリシー・セットの構成
<参考>
58
blank
59
アカウンティング/統計機能の拡張
ブローカーのパフォーマンスを測定するためのアカウンティング/統計機能を拡張
MB Explorerでメッセージフローのアカウンティング/統計(スナップショット)の設定と表示が可能
応答時間、CPU時間、入力/出力メッセージ数、エラー数 など
リソース統計の取得も可能
JVMのヒープサイズやGC時間、ソケットの送受信バイト数など
メッセージフロー統計およびリソース統計の開始/停止
実行グループに対しメッセージフロー統計もしくはリソース統計を開始/停止
個別のメッセージフローに対しメッセージフロー統計を開始/停止
60
アカウンティング/統計機能の拡張
メッセージフロー統計、リソース統計の表示
「ウィンドウ」→「ビューの表示」→「その他」→「メッセージフロー統計グラフ/リソース統計グラフ」を選択
61
アカウンティング/統計機能の拡張
リソース統計
62
アカウンティング/統計機能の拡張
メッセージフロー統計
63
ビジネス・レベル・モニター
ビジネス・レベル・モニター
メッセージフローのトランザクション処理やメッセージの通過を示すイベントを発行し、モニターすることが可能
WMB V6.1.0.2からの機能
WebSphere Business Monitor(WBM)を利用してメッセージフローが生成するイベントをモニター可能
WMBのサンプルで構成ガイドやカスタマイズして利用可能なリソースを提供
MQ Pub/Sub Topic
Trx開始 Trx終了
InTerm OutTerm
イベント発行
WMB メッセージフロー
モニターアプリケーション(WBMなど)
64
ビジネス・レベル・モニター
イベント・ソース
トランザクション・イベント
トランザクションの開始/終了/ロールバックのイベント– 入力ノードから発行可能
ターミナル・イベント(V6.0.1.3から)
ターミナルの入出力のイベント– すべてのノード、任意のターミナルから発行可能
イベントの形式
モニター・イベント・スキーマ(WMBEvent.xsd)に準拠したXML文書
イベントのソース、名前、作成時刻/シーケンス番号(V7から)、相関IDなどの情報が含まれる
メッセージ内のアプリケーション・データ、ビット・ストリーム(全て/一部)を含めることも可能
イベントの出力先
MQのトピックにパブリッシュ
$SYS/Broker/<brokerName>/Monitoring/<executionGroupName>/<flowName>
サブスクライバー(モニター・アプリケーション)は別途用意する必要がある
WMBのサンプルでは、サブスクライバーとしてMDBを提供し、WBMと連携
メッセージフローからのイベント生成を有効にするには、イベント・ソースの構成とモニターのアクティブ化が必要
65
ビジネス・レベル・モニター
イベントの例
<wmb:eventxmlns:wmb=“http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event”><wmb:eventPointData><wmb:eventData wmb:productVersion=“7000” wmb:eventSchemaVersion=“6.1.0.3”
wmb:eventSourceAddress=“MQInput.terminal.out”><wmb:eventIdentity wmb:eventName=“MQInput.OutTerminal”/><wmb:eventSequence wmb:creationTime=“2010-01-17T04:20:12.711Z” wmb:counter=“1”/><wmb:eventCorrelation wmb:localTransactionId=“b1b072c5-7c95-440b-9178-ae054f8fa0f0-2”
wmb:parentTransactionId=“” wmb:globalTransactionId=“”/></wmb:eventData><wmb:messageFlowData><wmb:broker wmb:name=“BK1” wmb:UUID=“9bd2547e-3028-42b2-8849-712c6808c58e”/><wmb:executionGroup wmb:name=“ex1” wmb:UUID=“fe70a51c-2601-0000-0080-c98c68ab7f14”/><wmb:messageFlow wmb:uniqueFlowName=“BK1.ex1.simple_01” wmb:name=“simple_01”
wmb:UUID=“2ace2c36-2601-0000-0080-f646458bb8a6” wmb:threadId=“508”/><wmb:node wmb:nodeLabel=“MQInput” wmb:nodeType=“ComIbmMQInputNode” wmb:terminal=“out”/>
</wmb:messageFlowData></wmb:eventPointData>
</wmb:event>
<参考>
66
ビジネス・レベル・モニター
イベント・ソースの構成
メッセージフローのどのタイミングでどのイベント・ソースを発行するかを指定
イベントの名前、ペイロード、相関関係等も設定
(V7から)フィルター条件、トランザクション設定も可能
構成方法は、以下の2通り
モニター・プロパティを使用(V6.0.1.3から)
各ノードのモニター・プロパティにイベント・ソースの構成情報を設定
設定情報はBARファイルに格納され、デプロイによって実行環境に適用
設定変更には再デプロイが必要
モニター・プロファイル(構成可能サービス)を使用
モニター・プロファイルXMLファイルにイベントの構成情報を設定
XMLスキーマ「MonitorProfile.xsd」に準拠
「WebSphere Business Monitor サンプル」でモニター・プロファイルの例とXMLスキーマを提供
実行環境にモニター・プロファイル(構成可能サービス)を作成し、フローに関連付けることで適用
デプロイなしに設定および変更が可能
モニター・プロファイルはモニター・プロパティの設定を上書き
67
ビジネス・レベル・モニター
モニター・プロパティを使用したイベント・ソースの構成方法 追加するイベント・ソースの選択・トランザクションの開始・トランザクションの終了・トランザクションのロールバック・Outターミナル・Failureターミナル・Catchターミナル
など※ノードによって選択できるイベント・ソースは異なる
ノードのモニター・プロパティ
イベント・ソース・アドレスブローカーはこの値を使用してイベント・ソースを識別イベント・ソースの使用可能/不可の設定はこの値で指定(後述)
68
ビジネス・レベル・モニター
XPath式を指定して、イベントのフィルター条件を設定(V7から)
デフォルトは、「true()」(常に生成)
メッセージツリー内のデータを参照可能
69
ビジネス・レベル・モニター
イベントの相関属性の設定(相関タブ)
70
ビジネス・レベル・モニター
イベントの相関属性
複数のフロー処理や異なるフローの処理にまたがるビジネス・トランザクションのイベントを関連付けるために相関属性を用意
例えば、要求フローと応答フローのイベントの関連付けなど
3つの識別子を使用可能
ローカル相関関係子 (wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId)
親相関関係子 (wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId)
グローバル相関関係子 (wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId)
設定する値には、メッセージツリー内の任意のロケーションをXPathで指定可能
localTransactionId は必ずイベントにセットされる
ユーザが指定しない場合は、フローの最初のイベント生成時に自動的に値が生成される
生成された値はEnvironmentツリーにも保管され、そのフロー・トランザクション内の後続のイベントに使用される– Environment.Monitoring.EventCorrelation.localTransactionId
parentTransactionId および globalTransactionId は、ユーザが指定していない場合、値はセットされない
ユーザが指定している場合、指定されたロケーションから抽出された値がセットされる
セットされた値はEnvironmentツリーにも保管され、そのフロー・トランザクション内の後続のイベントに使用される– Environment.Monitoring.EventCorrelation.parentTransactionId
– Environment.Monitoring.EventCorrelation.globalTransactionId
フロー・トランザクション内で同じ値を使用する場合は、最初のイベントのみXPath指定し、後続は「自動」設定でよい
<参考>
71
ビジネス・レベル・モニター
イベントの作業単位の設定(トランザクションタブ) (V7から)
モニター・イベントの発行をメッセージフロー・トランザクションに合わせて制御可能– メッセージ・フロー・トランザクションと調整する
– 独立した作業単位にする
– 作業単位にしない
72
ビジネス・レベル・モニター
モニター・プロファイル(構成可能サービス)を使用したイベント・ソースの構成方法
モニター・プロファイルXMLファイルの作成
XMLスキーマ「MonitorProfile.xsd」に従い、メッセージフロー内のイベント・ソースと各イベントのプロパティを定義
モニター・プロファイル(構成可能サービス)の作成
モニター・プロファイルXMLファイルとモニター・プロファイルの関連付け
モニター・プロファイルをメッセージフローに適用
特定のフローに適用する場合
ブローカー内の全実行グループの全てのフローに提供する場合
BARファイルのメッセージフローの「モニター・プロファイル名」プロパティにモニター・プロファイルを指定することも可能
mqsicreateconfigurableservice myBroker -c MonitoringProfiles -o myMonitoringProfile
mqsichangeproperties myBroker -c MonitoringProfiles -o myMonitoringProfile -n profileProperties -p myMonitoringProfile.xml
mqsichangeflowmonitoring myBroker -e EG1 -f messageflow1 -m myMonitoringProfile
mqsichangeflowmonitoring myBroker -g -j -m myMonitoringProfile
73
ビジネス・レベル・モニター
モニター・プロファイルXMLファイルの例
<p:monitoringProfile xmlns:p=“http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/profile”><p:eventSource p:enabled=“true” p:eventSourceAddress=“SOAPInput.transaction.Start”><p:eventPointDataQuery><p:eventIdentity><p:eventName p:literal=“” p:queryText=“”/>
</p:eventIdentity><p:eventCorrelation><p:localTransactionId p:queryText=“” p:sourceOfId=“automatic”/><p:parentTransactionId p:queryText=“” p:sourceOfId=“automatic”/><p:globalTransactionId p:queryText=“” p:sourceOfId=“automatic”/>
</p:eventCorrelation><p:eventFilter p:queryText=“true()”/><p:eventUOW p:unitOfWork=“messageFlow” />
</p:eventPointDataQuery><p:applicationDataQuery><p:simpleContent p:dataType=“boolean” p:name=“” p:targetNamespace=“”><p:valueQuery p:queryText=“”/>
</p:simpleContent><p:complexContent p:name=“” targetNamespace=“”><p:payloadQuery p:queryText=“”/>
</p:complexContent></p:applicationDataQuery><p:bitstreamDataQuery p:bitstreamContent=“all” p:encoding=“base64Binary”/>
</p:eventSource></p:monitoringProfile>
<参考>
74
ビジネス・レベル・モニター
構成されたイベント・ソースのレポート
モニター・プロファイルのエクスポート
設定済みモニター構成をモニター・プロファイルXMLファイルにエクスポート
モニター・プロパティで設定したモニター構成もエクスポートしてモニター・プロファイルXMLファイルを生成できる
mqsireportflowmonitoring WBRK_BROKER –e default –f myMessageFlow –n
mqsireportflowmonitoring BROKER1 -e default -f PurchaseOrder -x -p myMonProf.xml
mqsirepotflowmonitoring BK1 -e ex1 -f simple_01 -n
BIP8911I: 実行グループ 'ex1' 内のフロー 'simple_01' の設定をモニターしています - 状態: active、 ProfileName: ''
BIP8912I: イベント: 'MQInput.terminal.out'、イベント名: 'MQInput.OutTerminal'、構成: yes、状態: enabled。
BIP8912I: イベント: 'MQOutput.terminal.in'、イベント名: 'MQOutput.InTerminal'、構成: yes、状態: enabled。
<profile:monitoringProfile xmlns:profile="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0.3/monitoring/profile" profile:version="2.0"><profile:eventSource profile:eventSourceAddress="MQInput.terminal.out" profile:enabled="true"><profile:eventPointDataQuery><profile:eventIdentity><profile:eventNameprofile:literal="MQInput.OutTerminal"/></profile:eventIdentity><profile:eventCorrelation><profile:localTransactionIdprofile:sourceOfId="automatic"/><profile:parentTransactionId profile:sourceOfId="automatic"/><profile:globalTransactionIdprofile:sourceOfId="automatic"/></profile:eventCorrelation><profile:eventFilter profile:queryText="true()"/><profile:eventUOWprofile:unitOfWork="messageFlow"/></profile:eventPointDataQuery><profile:applicationDataQuery/><profile:bitstreamDataQueryprofile:bitstreamContent="none" profile:encoding="none"/></profile:eventSource><profile:eventSourceprofile:eventSourceAddress="MQOutput.terminal.in" profile:enabled="true"><profile:eventPointDataQuery><profile:eventIdentity><profile:eventNameprofile:literal="MQOutput.InTerminal"/></profile:eventIdentity><profile:eventCorrelation><profile:localTransactionIdprofile:sourceOfId="automatic"/><profile:parentTransactionId profile:sourceOfId="automatic"/><profile:globalTransactionIdprofile:sourceOfId="automatic"/></profile:eventCorrelation><profile:eventFilter profile:queryText="true()"/><profile:eventUOWprofile:unitOfWork="messageFlow"/></profile:eventPointDataQuery><profile:applicationDataQuery/><profile:bitstreamDataQueryprofile:bitstreamContent="none" profile:encoding="none"/></profile:eventSource></profile:monitoringProfile>
実行例
エクスポートされたモニター・プロファイルXMLファイル例
75
ビジネス・レベル・モニター
モニターのアクティブ化
モニターをアクティブ化して、イベントの生成を開始
ブローカー単位、実行グループ単位、フロー単位でアクティブ化
ブローカーの全実行グループ、全フローに対し、モニターをアクティブにする場合
特定の実行グループの全フローに対し、アクティブにする場合
特定のフローのみアクティブにする場合
非アクティブ化は、-c inactive オプションを指定
mqsichangeflowmonitoring myBroker -c active -g -j
mqsichangeflowmonitoring myBroker -c active -e default -j
mqsichangeflowmonitoring myBroker -c active -e default -f myFlow
76
ビジネス・レベル・モニター
イベント・ソースの使用可能化、使用不可化
構成済みの特定のイベント・ソースを使用可能/不可にすることができる
使用可能
使用不可
-s には、イベント名ではなくイベント・ソース・アドレスを指定
複数のイベント・ソースを一度に設定可能(カンマ区切りイベント・ソース・アドレスをリスト)
変更は即座に反映
モニター・プロパティで指定することも可能
BARファイルのデプロイで反映
mqsichangeflowmonitoring WBRK_BROKER -e default -f myMessageFlow -s "SOAP Input1.terminal.out,MQOutput1.terminal.in" -i enabled
mqsichangeflowmonitoring WBRK_BROKER -e default -f myMessageFlow -s "SOAP Input1.terminal.catch" -i disabled
77
ビジネス・レベル・モニター
WebSphere Business Monitorを利用したイベントのモニター
イベント・フロー
① WMBは、イベントをトピックにパブリッシュ
② MDBは、トピックにサブスクライブし、受信したイベントをCBE(Common Business Event)形式のイベントに変換し、CEI(Common Event Infrastructure)に送信
③ CEIは、受信したCBEをWBMに渡す
④ WBMは、モニター・モデル・アプリケーションがモニター・モデルに従ってイベントを処理し、Dashboardに表示
WAS
MDBCEI
Server
WBM
CBE
MQPub/Sub Topic
WMBブローカー
BusinessDashboard
EventEvent
モニター・モデルアプリケーション
CBE
①
② ③④
モニター・モデル
78
ビジネス・レベル・モニター
WBM連携の作業概要
WAS
MDBCEI
Server
WBM
BusinessDashboard
モニター・モデルアプリケーション
モニター・モデル
モニター・モデル・アプリケーションのインストール/構成モニター・モデル・アプリケーションをインストール
モニター情報の定義フローにイベントを構成アプリケーション・モニター情報をエクスポート
モニター・モデル・アプリケーションの作成インポートしたモニター情報を基にモニター・モデルを構成し、モニター・モデル・アプリケーションを作成
WMBツールキット WID
モニター・サーバー管理コンソール
ビジネス・スペース・マネージャー
ZIP
EAR
MDBのインストール/構成JMSリソース、リスナーポートを構成MDBをインストール
WBMダッシュボードの作成ビジネス・スペースとページを作成ページにインストール済みWMB提供モニター・モデルを構成
サンプルで提供しているMDBを利用
サンプル提供のモニター・モデルをカスタマイズして利用も可
79
ビジネス・レベル・モニター
アプリケーション・モニター情報のエクスポート
<参考>
ツールキットから「エクスポート」→「アプリケーション・モニター情報」を選択
メッセージフローとエクスポート先のZIPファイル名を指定
80
ビジネス・レベル・モニター
WBMによるモニターのイメージ(サンプル実行時)
<参考>
81
パターン
影響分析
生産性の向上
82
パターン
特定の連携パターンにおけるフローの雛形を提供
事例の多い連携パターンのベスト・プラクティスを詰め込んだテスト済みのフローおよび関連リソースを提供
メッセージフローの設計、実装の指針となる
インスタンス化して、メッセージフローや関連リソースを生成
効率的に高品質のソリューション開発が可能
エラー処理やロギングなど標準的なサブフローも定義済み
現在、メッセージ連携、Webサービス連携、ファイル連携など8種類のパターンを提供
「パターン・エクスプローラー」ビュー
83
パターン
パターンを選択すると詳細な説明が表示
ボタンを押してインスタンスを生成
ここで指定した名前は作業セットやプロジェクト名に使用される
84
パターン
環境に応じてパラメータを設定可能
85
パターン
生成されたリソース
86
パターン
ESQLも実装済み
87
パターン
提供パターン
このパターンを使用すると、1 つの RFC プログラム ID を使って様々な種類の IDoc を処理できます。新しいタイプの IDoc を追加する場合であっても既存のメッセージ・セットとアダプターを再デプロイする必要はありません。
アプリケーション統合パターン
多数のクライアントからの要求を単一のキューで受け入れ、トランザクション・フローと持続 MQ メッセージを使用して、正しいクライアントに応答を返すには、このパターンを使用します。
MQ一方向(IDoc)
持続性のあるMQ要求/応答
静的エンドポイント Web サービス要求元と Web サービス・プロバイダーを分離するために、ターゲットのサービス・プロバイダーに直接バインドされた仮想サービスを通してルーティングするには、このパターンを使用します。
MQ要求/応答 MQ のみを介してアクセス可能な機能に Web サービス・ファサードを提供するには、このパターンを使用します。このパターンは、同期 HTTP プロトコル間のブリッジを作成します。通常このブリッジはWeb サービスと併用したり、MQ インターフェースを持つ既存のアプリケーションと併用したりします。
肯定応答を伴うMQ一方向
クライアントに対して Web サービス・インターフェースを表示し、 MQ 使用可能アプリケーションを使ってサービス要求を実行するには、このパターンを使用します。
MQ一方向 このパターンを使用して 2 つのスタイルの統合 (ファイル・ベースとトランザクション・ベース) を橋渡しします。
MQ一方向(XML) 大きな XML メッセージをより小さなエレメントに分割し、トランザクション・フローと持続 MQ メッセージを使用して、1 つ以上のターゲットで処理できるようにするには、このパターンを使用します。
多数のクライアントからの要求を単一のキューで受け入れ、非トランザクション・フローと非持続 MQ メッセージを使用して、正しいクライアントに応答を返すには、このパターンを使用します。
持続性のないMQ要求/応答
SAP
メッセージ相関関係子
サービス・プロキシー
サービス・ファサード
レコード配布
メッセージ・スプリッター
サービス仮想化パターン
サービス使用可能化パターン
ファイル処理パターン
メッセージに基づく組み込みパターン
<参考>
88
blank
89
影響分析
ツールキットによる開発物の変更の影響を分析可能
開発物の移動や名前変更によって影響を受ける他の開発物を表示
1次影響と2次影響を表示
1次影響 :変更の直接の結果
2次影響 :1次変更の影響を受ける他の成果物
表形式リスト表示
外部アプリケーション(Excelなど)に貼り付け可能
影響分析を可能にする設定が必要
デフォルトでは利用不可
移動の影響分析が可能なリソース
スキーマ・スコープの ESQL ルーチンスキーマ・スコープの ESQL 定数ESQL モジュールマップ・ファイルメッセージ・フロー・ファイル
名前変更の影響分析が可能なリソース
ファイルMXSD ファイルデプロイ可能な WSDL ファイルマップ・ファイルメッセージ・フロー・ファイル (サブフローも含む)
メッセージ・セット内のグローバル成果物 (MXSD)エレメント定義複合/単純型定義モデル・グループ属性グループ属性メッセージ定義
ESQL モジュールスキーマ・スコープの ESQL 定数マップ (サブマップも含む) スキーマ・スコープの ESQL ルーチン
90
影響分析
影響分析機能(索引付け)の有効化
チェックして影響分析を有効にする
ワークベンチの「ウィンドウ」→「設定」を選択
91
影響分析
ケース1:ESQLファイルの移動による影響を分析
移動するESQLファイルから「影響分析」→「移動」を選択
移動先を指定
92
影響分析
ケース1:ESQLファイルの移動による影響を分析
ファイルの移動にともなって移動するESQLのモジュールや定数を表示
移動するファイルやESQLモジュールなどを参照しているリソースを表示
1次影響
2次影響
93
影響分析
ケース2:メッセージ定義ファイル内のメッセージ名の変更
新規の名前を指定
94
影響分析
ケース2:メッセージ定義ファイル内のメッセージ名の変更
メッセージ定義ファイルの該当メッセージ定義の名前が変更されることを表示
該当メッセージのXMLスキーマを参照しているマップ・ファイルが表示
参照しているESQLやメッセージフローは表示されない
結果をクリップボードにコピーし、Excel等に貼り付け可能
1次影響
2次影響
95
影響分析
分析結果をExcelに貼り付けた例