連載8回目の今回は「WMBの運用管理と監視」をお届けします。
WMBのシステムを実運用していく上で検討すべき運用管理項目や、システムの安定稼動に欠かせない監視についてご説明していきます。
運用管理や監視をどう実装するかによって、プロジェクトの開発工数や製品選定に影響を与えます。
プロジェクトの早い段階での方針検討が必要です。

1. WMBの運用管理について

WMBの起動/停止からバックアップ/リカバリまで、WMBシステムで必要となる運用管理項目を洗い出します。
洗い出した項目については、運用を自動化するためのスクリプトの開発なども必要となります。
またどのような頻度で実行するのか、どのように自動実行するのかなどもあわせて検討する必要があります。

1.1 起動/停止

WMBの起動/停止とは、すなわちブローカーの起動/停止を指します。
WMBのアプリケーションであるメッセージ・フローは、ブローカーの実行グループ上でスレッドとして稼動します。
通常の運用ではメッセージ・フローや実行グループという単位ではなく、ブローカーの単位で起動/停止を行なうのが一般的です。
ブローカーの稼動はMQの稼動が前提となります。そのため、起動/停止の順序は以下のようになります。

□起動手順
①ブローカー・キュー・マネージャーの起動
strmqm <キュー・マネージャー名> または amqmdain start <キュー・マネージャー名> (Windows)
②ブローカーの起動
mqsistart <ブローカー名>

□停止手順
①ブローカーの停止
mqsistop <ブローカー名>
②ブローカー・キュー・マネージャーの停止
endmqm <キュー・マネージャー名> または amqmdain end <キュー・マネージャー名> (Windows)

運用上、フローを個別で起動/停止するなどの要件がある場合は、コマンドまたはWMBのGUIツール(1.2参照)を使用して、任意の単位で起動/停止をすることが可能です。
mqsistartmsgflow / mqsistopmsgflow コマンドと共に指定するパラメーターにより、実行グループやフローなど、起動/停止の実行単位を指定することが可能です。

【コマンド実行例】
(ブローカー名:MB7BROKER / 実行グループ名:EG1 / フロー名:Flow1)

  
特定の実行グループの開始mqsistartmsgflow MB7BROKER -e EG1
特定の実行グループにデプロイされているすべてのメッセージ・フローの開始mqsistartmsgflow MB7BROKER -e EG1 -j
特定のメッセージ・フローの開始mqsistartmsgflow MB7BROKER -e EG1 -m Flow1

MQ連携の場合、一時的に処理を実行/停止したい場合には、フローの入力キューのGET属性をENABLED/DISABLEDに変更するなどの対応をとることができます。
ただしその間、キューからメッセージを取得できないことを示すエラー・メッセージ(MQRC:2016)が出力されることにご注意ください。

1.2 GUIツール

WMBは運用管理のためのGUIインターフェースを提供しています。
v7からは今までのWebSphere Message Broker Toolkit(ツールキット)の他に、WebSphere Message Broker Explorer(MBエクスプローラ)が製品として提供されるようになりました。
(MBエクスプローラは運用管理者向け、ツールキットは開発者向けのGUIツールという位置づけです)
MBエクスプローラはWindows および Linux(x86) 上にインストール可能です。

MBエクスプローラはEclipseのプラグインとして提供され、WMQエクスプローラに組み込まれます。
これによりブローカーとMQを一元管理できるようなります。

MBエクスプローラを使用して、ブローカーや実行グループの構成、開発フローのデプロイ操作、稼動状況、統計情報の確認などが可能です。
リモートサーバー(zOSを含む)上で稼動するブローカーも管理対象とすることができます。
実行可能なブローカー操作の詳細については、以下のURLリンクをご参照ください。

http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/bb10570_.htm

[MBエクスプローラの画面例]
[MBエクスプローラの画面例]

1.3 バックアップ/リカバリ

予期せぬ障害に備え、WMBに関連するリソースのバックアップを取得しておく必要があります。
バックアップ対象としては以下のものが考えられます。

  • WMB実行環境
  • WMB開発物
  • 関連するMQリソース

その他にもデータベースのバックアップ(ユーザーDBを使用時)や、運用シェルを含むその他のユーザー開発アプリケーションのバックアップも考慮する必要があります。

◇WMB実行環境

WMB実行環境としてブローカーの構成情報をバックアップします。
ブローカーの構成情報をバックアップするために mqsibackupbroker というコマンドが提供されています。
このコマンドはブローカーが構成変更作業(デプロイ作業やプロパティー変更など)をしていないことを確認の上実行するか、ブローカー停止時に実行する必要があります。

コマンド例:
mqsibackupbroker <ブローカー名> -d <バックアップ・ファイルを作成するディレクトリ・パス>
mqsibackupbroker MB7BROKER -d c:¥MQSI¥BACKUP

取得したバックアップをリストアするために、mqsirestorebrokerコマンドが提供されています。
バックアップを取得した環境と同一の構成を持つ環境にのみリストアが可能です。
リストアコマンドを実行する場合には、事前にバックアップ環境と同一のOSレベルの環境で同じ名前、パラメーターでブローカーおよびキュー・マネージャーを作成しておく必要があります。

コマンド例:
mqsirestorebroker <ブローカー名> -d <バックアップ・ファイルのディレクトリ・パス> -a <バックアップ・ファイル名> mqsirestorebroker WBRK_BROKER -d c:\MQSI\BACKUP -a mybroker.zip

ただし、上記バックアップコマンドでは、odbc.iniファイルなどのリソースがバックアップされません。
DB接続がありodbc.iniファイルを使用している場合などは、ブローカーの構成データ・ディレクトリ(/var/mqsiなど)以下のバックアップも必要となります。

ブローカーに復旧できなくなるような障害が発生した場合には、バックアップからのリカバリでなく、再作成するという運用をとる場合もあります。
必要なリソースを再作成すれば、開発物を再デプロイするだけで復旧が可能です。
ただし、復旧時間の短縮という意味では、バックアップからのリカバリも有用です。
日次でのバックアップは不要ですが、システム構成の変更時などにバックアップを取得します。

◇WMB開発物

WMB開発物のバックアップを取得します。
ツールキット上で開発したメッセージ定義やメッセージ・フローはツールキットのワークスペースに保存されます。
このワークスペースはツールキットが稼動する端末のローカル・ディレクトリに保管されます。
ブローカーが壊れても、再作成して開発定義をデプロイしなおせば復旧できますが、開発定義が壊れても、アプリケーションの再開発は簡単にはいきません。
そのためWMBのバックアップとしては、開発物のバックアップが最も重要です。

本番運用に入り新規開発がない期間は特にバックアップは不要です。
開発期間中は日次でバックアップを取得することをお勧めします。

[GUIツールのワークスペース・ディレクトリー]
MBエクスプローラのデフォルトのワークスペース・ディレクトリーは、以下になります。
Windowsの場合: C:¥Documents and Settings¥<userid>¥Application Data¥IBM¥MQ Explorer¥<server project>¥
Linuxの場合: /home/user_ID/IBM/MQ Explorer\/<server project>/

ツールキット のデフォルトのワークスペース・ディレクトリーは、以下になります。
Windowsの場合: C:¥Documents and Settings¥user_ID¥IBM¥wmbt70¥workspace
Linuxの場合: /home/user_ID/IBM/wmqi70/workspace

※user_ID はログオンに使用したユーザー名です。

開発物のバックアップの取得方法は以下の3つの方法があります。

  • ツールキットからプロジェクトのエクスポートを行い、zipファイル単位でバックアップ
  • workspace下のプロジェクト・ディレクトリーをそのままコピーしてバックアップ
  • barファイル作成時に「ソース・ファイルの組み込み」を選択して作成したbarファイル単位でバックアップ

また開発物のバックアップとは別に、MBエクスプローラやツールキットなどのGUIツールの環境情報やブローカー接続情報のバックアップを取得します。

  • MBエクスプローラの場合 : .broker 接続ファイルのエクスポート
  • ツールキットの場合 : ワークスペースの.metadataディレクトリのバックアップ

(参考)開発物の管理
ツールキットでの開発物は開発端末のローカルのファイル・システムに保存されます。
そのため、複数ユーザーで同時開発する場合には、開発物を共有するための管理方法を検討する必要があります。

開発人数が小規模であれば、運用ルールによる管理でも十分ですが、大規模になる場合にはリポジトリ製品を使用した管理を検討する必要があります。
主なリポジトリ製品としてはCVS (オープンソース ソフトウェア) Rational ClearCaseLT、Rational ClearCaseなどがあります。

リポジトリ製品を使用した場合のバックアップ方法については、リポジトリ製品のマニュアルをご確認ください。

◇関連するMQリソース
ブローカーが使用するMQリソースのバックアップも必要です。
MQリソースのバックアップについてはMQ設計虎の巻:第6回「MQ運用管理と監視」をご参照ください。

1.4 運用管理の自動化の検討

今まであげた運用項目の実行を自動化するには、まず運用タイムテーブルを作成し、何をどのタイミングで実行するかを決定します。
決定内容に応じて、自動実行するための運用シェルの開発や、スケジューラーへの登録作業を行ないます。

ただし1.3で記載のとおり、WMBコンポーネントのバックアップは日次で取得する必要はなく、構成変更の時のみ実行すれば問題ありません。
開発期間中の開発物のバックアップは頻繁に取得することを推奨します。

WMBの運用スクリプト例
シェル一覧内容
WMBの起動前提となるMQリソースも含めたブローカーの起動シェル
WMBの停止前提となるMQリソースも含めたブローカーの停止シェル
ブローカーのバックアップブローカー・コンポーネントのバックアップ・シェル
ブローカーのリストアブローカー・コンポーネントのリストア・シェル
(補足)MQのバックアップ/リストアシェルブローカーの使用するキュー・マネージャー・リソースのバックアップ/リストア・シェル

2. WMBの監視について

次にWMBの監視についてご説明します。
システムを安定稼動させるには、障害時にいち早く検知できることが重要となります。
そのためには何を監視する必要があるのか、どのような実装方法があるのかを見ていきます。

2.1 監視対象

WMBの主な監視項目には以下のものがあります。

①WMBのプロセス監視

WMBの主なプロセスを監視することで、WMBの稼動監視を行ないます。

WMBの稼動プロセスには以下のものがあります。

コンポーネントプロセス名
ブローカーbipservice (ブローカーごとに1つ)
bipbroker (ブローカーごとに1つ)
DataFlowEngine (実行グループごとに1つ)
biphttplistener (ブローカーごとに1つ)
 

各プロセスは上図のように親子関係になっており、子プロセスが異常終了した場合は、親プロセスが検知し、自動で再起動します。
そのため、プロセス監視は親プロセスのbipserviceのみ行ないます。

②WMBフロー処理のエラー監視

メッセージ・フローの処理中にエラーが発生したことを検知するために、システム・ログ監視またはエラー・キューの監視を行います。

WMBで発生したエラー情報はシステム・ログに出力されます。そのため、システム・ログを監視することでエラーの検知が可能になります。

エラー・キューで監視を行う場合、メッセージ・フロー側では、エラー発生時にエラーキューにメッセージを出力するように実装をしておく必要があります。
監視ツールでは1件でもエラーキューにメッセージが出力されれば、アラートを挙げるように設定します。

②WMBフロー処理の稼動監視

フローが正常に処理を実行していることを監視します。
使用プロトコルに応じた実装の検討が必要です。

MQプロトコルを使用する場合は、メッセージ・フローの入力キューのメッセージ滞留状況を監視することで、フロー・レベルでの稼動監視が可能です。
具体的には入力キュー内のメッセージの件数や滞留時間を監視します。
HTTPプロトコルを使用する場合は、ヘルスチェック用のアプリケーションを使用した監視などを検討します。

④MQ稼動監視

ブローカーが使用するMQリソースについても監視が必要です。
キュー・マネージャーのプロセス監視など必要な監視を行ってください。
MQリソースの監視についてはMQ設計虎の巻:第6回「MQ運用管理と監視」をご参照ください。

その他、周辺システムとの連携にMQプロトコルを使用する場合は、チャネル監視なども検討します。

2.2 監視の実装

プロセス監視、ログ監視についてはTivoli製品などの監視製品で実装します。
キュー監視については監視製品や自作の監視アプリケーションを使用して監視します。
ITCAMではWMB、WMQの監視製品が提供されています。

【参考監視製品一覧】
製品名開発元販売元参照URL
プロセス監視
Tivoli Monitoring日本IBM(株)日本IBM(株)http://www-06.ibm.com/software/jp/tivoli/products/monitoring/
ログ監視
Tivoli Netcool/OMNIbus日本IBM(株)日本IBM(株)http://www-06.ibm.com/software/jp/tivoli/products/netcool-omnibus/
Tivoli Monitoring日本IBM(株)日本IBM(株)http://www-06.ibm.com/software/jp/tivoli/products/monitoring/
WMB監視
Tivoli Composite Application Manager for Applications
もしくは
Tivoli Composite Application Manager for SOA Platform (*1)
日本IBM(株)日本IBM(株)Tivoli Composite Application Manager for Applications

Tivoli Composite Application Manager for SOA Platform
MQ監視
MQ和尚シリーズ管理ツール (*2)日本IBMシステムズ・エンジニアリング(株)日本IBM(株)http://www-06.ibm.com/jp/ise/software/mqosho/mqo_gaiyou.html
Tivoli Composite Application Manager for Applications
もしくは
Tivoli Composite Application Manager for SOA Platform (*3)
日本IBM(株)日本IBM(株)Tivoli Composite Application Manager for Applications

Tivoli Composite Application Manager for SOA Platform

(*1) どちらの製品でもITCAM Agent for WebSphere Message Broker(旧:Tivoli OMEGAMON XE for Messaging WMB Agent)という同一のコンポーネントを使用して監視を行います。
(*2) 営業活動終了
(*3) どちらの製品でもITCAM Agent for WebSphere MQ(旧:Tivoli OMEGAMON XE for Messaging MQ Agent)という同一のコンポーネントを使用して監視を行います。

2.3 会計・統計

WMBのパフォーマンスや、サーバーのリソース状況に問題ないかを確認するため、メッセージ・フローの会計・統計情報の取得や、リソース統計の取得が可能です。
詳細についてはInfoCenterの各項目をご参照ください。

メッセージ・フローの会計・統計情報

リソース統計


3. 最後に

運用項目や監視の実装方法の決定は、開発工数や製品の見積もりに影響します。

運用スクリプトの本数はどの程度か、監視は製品で実装するのか、監視アプリケーションを開発するのかなどの方針をたて、
十分な工数、要員の確保、見積もりへの反映を行ってください。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere
ArticleID=648940
ArticleTitle=WMB虎の巻: 第8回「WMB運用管理と監視」
publish-date=04252011