本番環境でのすべての変更は、バージョン管理して、変更した特定の人とその理由を追跡する必要があります。
そのためのツールを使用する可能性はありますか?そうでない場合、MQ構成にSVNまたはGITを使用する方法は?
Websphere MQ構成を変更するためのベスト・プラクティスは何ですか?
私はすべての構成が/var/mqm/qmgrs/QMNAME
ディレクトリにあることを知っています。しかし、これらはテキストファイルではないため、単純なSVNでは何が変更されたかはわかりません。
本番環境でのすべての変更は、バージョン管理して、変更した特定の人とその理由を追跡する必要があります。
そのためのツールを使用する可能性はありますか?そうでない場合、MQ構成にSVNまたはGITを使用する方法は?
Websphere MQ構成を変更するためのベスト・プラクティスは何ですか?
私はすべての構成が/var/mqm/qmgrs/QMNAME
ディレクトリにあることを知っています。しかし、これらはテキストファイルではないため、単純なSVNでは何が変更されたかはわかりません。
WebSphere MQは、静的にコンパイルされたアーティファクトのようなものではなく、部分的に自己管理型の生きたシステムです。クラスター、トリガー、インストルメンテーション、さらにはアプリケーションなどはすべて、実行時にMQオブジェクトの設定を変更できます。
多くのショップが選択するのは、オブジェクト定義と承認制御リストをMQSCスクリプトに保存し、それらのファイルをSVNまたはその他の変更管理システムに保持することです。次に、ライブの変更をキャプチャするために、変更の詳細と変更を開始したユーザーIDを報告する構成イベントを有効にして監視します。
特に、WMQクラスター内のオブジェクトは実行時に揮発性が高いため、スクリプトはこの事実を反映する必要があります。オブジェクト属性は、静的プロパティであるか、実行時の状態を表すかで分類できます。MQSCスクリプトは、静的プロパティと動的プロパティを別々のステップで定義することにより、これを利用できます。およびを使用しREPLACE
てNOREPLACE
オプションスクリプトを再実行するたびにクラスターの状態が保持されるように、スクリプトを作成することができます。これは、システムへの変更ごとに新しいスクリプトを作成するのではなく、関連するすべてのオブジェクトをバージョン管理されたスクリプトに保存する変更管理方法をサポートします。スクリプトバージョン間のデルタをキャプチャすると、すべての静的プロパティと監視が提供され、イベントメッセージにより、スクリプトにキャプチャされていない動的プロパティの更新を含む、すべての変更が表示されます。
2ステップのオブジェクト定義は次のようになります。
* Stateful attributes use NOREPLACE so rerunning the script does not
* reset them to default values at run-time
DEFINE QLOCAL (APP.FUNCTION.SUBFUNCTION.QA) +
GET(DISABLED) +
PUT(DISABLED) +
NOTRIGGER +
NOREPLACE
* Static values use the REPLACE option to make sure any changes
* are recorded next time the script runs
ALTER QLOCAL (APP.FUNCTION.SUBFUNCTION.QA) +
DESCR('APP service queue for QA') +
DEFPSIST(NO) +
BOTHRESH(5) +
BOQNAME('APP.FUNCTION.BACKOUT.QA') +
CLUSTER('DIV_QA') +
CLUSNL(' ') +
DEFBIND(NOTFIXED)
この方法論の詳細については、「 ミッション:メッセージング:WebSphere MQクラスターでのマイグレーション、フェイルオーバー、およびスケーリング」を参照してください。