Open MQ4.1を使ってみよう!第6回 MQ4.1EE/Open MQ4.1/MQ3.7管理
前回はMQ4.1でのデータ送受信テストを行いました。
今回はMQ4.1(MQ3.7と共通)の管理方法について説明します。
MQ4.1/3.7ではコマンドラインユーティリティでの管理が
管理の基本となります。日常の運用に沿ってよく使うコマンドを見ていきましょう。
起動
MQブローカの起動
imqbrokerd
MQブローカの起動(ヒープサイズ指定)
imqbrokerd -vmargs "-Xms512m -Xmx512m"
MQブローカの起動(より細かい稼動情報をコンソールに出力)
imqbrokerd -tty
MQブローカの起動(コンソールにログを全く出力しない)
imqbrokerd -silent
停止
MQブローカの停止(localhostのポート7676のインスタンスをシャットダウン)
MQブローカの停止(ホスト名とポート番号を指定)imqcmd shutdown bkr
imqcmd shutdown bkr -b localhost:7676
MQブローカプロパティの照会
imqcmd query bkr
MQブローカプロパティの照会(ホスト名とポート番号指定)
imqcmdquery bkr -b localhost:7676
リスト
そのブローカが所属するクラスタ中にあるすべてのブローカをリスト
imqcmd list bkr
C:\software\MQ4.1\mq\bin>imqcmd list bkr
ユーザ名: admin
パスワード: admin
次のブローカが所属するクラスタ内のすべてのブローカをリストします:
---------------------
ホスト プライマリポート
---------------------
localhost 7676
クラスタは高可用性です false
---------------------------------------
アドレス 状態
---------------------------------------
psq96026.Japan.Sun.COM:7676 OPERATING
クラスタ内のブローカのリストに成功しました。
ブローカ内にある全ての宛先をリスト
imqcmd list dst
C:\software\MQ4.1\mq\bin>imqcmd list dst
ユーザ名: admin
パスワード: admin
指定されたブローカ上のすべての送信先のリスト:
---------------------
ホスト プライマリポート
---------------------
localhost 7676
--------------------------------------------------------------------
名前 タイプ 状態 Producers コンシューマ Msgs
Total カウント UnAck Avg Size
--------------------------------------------------------------------
honbanQueue1 キュー RUNNING 0 0 1 0 139.0
honbanQueue2 キュー RUNNING 0 0 1 0 139.0
mq.sys.dmq キュー RUNNING 0 0 0 0 0.0
testQueue1 キュー RUNNING 0 0 4 0 5437.5
testQueue2 キュー RUNNING 0 0 1 0 139.0
送信先のリストに成功しました
ブローカ内で稼動する全てのサービスのリスト
imqcmd list svc
C:\software\MQ4.1\mq\bin>imqcmd list svc
ユーザ名: admin
パスワード: admin
指定されたブローカ上のすべてのサービスのリスト:
---------------------
ホスト プライマリポート
---------------------
localhost 7676
--------------------------------
サービス名 ポート番号 サービス状態
--------------------------------
admin 3811 (動的) RUNNING
httpjms - UNKNOWN
httpsjms - UNKNOWN
jms 3810 (動的) RUNNING
ssladmin 動的 UNKNOWN
ssljms 動的 UNKNOWN
サービスのリストに成功しました
特定のトピックに登録されている永続サブスクライバ一覧
imqcmd list dur -d <<トピック名>>
メッセージのクリア
特定キュー中のデータを全部クリア(キューは削除しない)
imqcmd purge dst -t q -n <<キュー名>>
特定トピック中のデータを全部クリア(トピックは削除しない)
imqcmd purge dst -t t -n <<トピック名>>
特定のキュー自体をデータと共に削除
imqcmd destroy dst -t q -n <<キュー名>>
特定のトピック自体をデータと共に削除
imqcmd destroy dst -t t -n <<トピック名>>
一時停止
ブローカへの新規リクエスト受け入れ停止(MQ4.1からの機能)
imqcmd quiesce bkr
#確認
C:\software\MQ4.1\mq\bin>imqcmd list svc
ユーザ名: admin
パスワード: admin
指定されたブローカ上のすべてのサービスのリスト:
---------------------
ホスト プライマリポート
---------------------
localhost 7676
---------------------------------
サービス名 ポート番号 サービス状態
---------------------------------
admin 3811 (動的) RUNNING
httpjms - UNKNOWN
httpsjms - UNKNOWN
jms 0 (動的) QUIESCED
ssladmin 動的 UNKNOWN
ssljms 動的 UNKNOWN
サービスのリストに成功しました。
ブローカへの新規リクエスト受け入れ開始(MQ4.1からの機能)
imqcmd unquiesce bkr
ブローカの一時停止
imqcmd pause bkr
ブローカの再開
imqcmd resume bkr
キューの一時停止
imqcmd pause dst -t q -n <<キュー名>>
キューの再開
imqcmd resume dst -t q -n <<キュー名>>
トピックの一時停止
imqcmd pause dst -t t -n <<トピック名>>
トピックの再開
imqcmd resume dst -t t -n <<トピック名>>
トランザクションのメンテナンス
トランザクションのリスト
imqcmd list txn
トランザクションのロールバック
imqcmd rollback txn -n <<トランザクションID>>
トランザクションのコミット
imqcmd commit txn -n <<トランザクションID>>
接続のメンテナンス
接続の表示
imqcmd list cxn
接続の詳細表示
imqcmd query cxn -n <<コネクションID>>
デフォルト管理者パスワードの変更
MQのインスタンス格納場所がソフトウエアデフォルト以外の場合はIMQ_VARHOMEを設定してください。(アプリケーションサーバから起動されている場合など)
Unixデフォルト: /var/imq
Windowsデフォルト: インストールディレクトリ\mq\var\instances
Solarisでの設定例:
※/var/opt/SUNWappserver/domains/domain1/imqの値はお使いの環境に従って変更してください-bash-3.00# IMQ_VARHOME=/var/opt/SUNWappserver/domains/domain1/imq
-bash-3.00# export IMQ_VARHOME
imqusermgr update -i <<ブローカ名>> -u admin -p <<新しいパスワード>>
C:\software\MQ4.1\mq\bin>imqusermgr update -i broker1 -u admin -p tekito
ブローカインスタンスのユーザリポジトリ: broker1
ユーザー admin を更新してもよろしいですか ? (y/n)[n] y
ユーザ admin の更新に成功しました。
パスワードが正しく更新されているかを確認します。
imqcmd list svc -u admin
パスワードを聞かれるので変更したパスワードを入力して以下が表示されればOK
指定されたブローカ上のすべてのサービスのリスト:
---------------------
ホスト プライマリポート
---------------------
localhost 7676--------------------------------
サービス名 ポート番号 サービス状態
--------------------------------
admin 1049 (動的) RUNNING
httpjms - UNKNOWN
httpsjms - UNKNOWN
jms 1048 (動的) RUNNING
ssladmin 動的 UNKNOWN
ssljms 動的 UNKNOWNサービスのリストに成功しました。
