キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
4560
閲覧回数
0
いいね!
0
コメント
shanazon
Cisco Employee
Cisco Employee

目的

本ドキュメントではCisco VIM (CVIM) のRabbitMQの状態を確認するための以下の2つの方法をご紹介します。

  • rabbit_api.py を使用した確認
  • rabbitmqctlコマンドを使用した確認

 

rabbit_api.py を使用した確認

CVIMにはRabbitMQの健全性をチェックするための rabbit_api.py Pythonスクリプトが用意されています。
このスクリプトは以下の項目をチェックし、結果を出力します。

  1. クラスタステータス
  2. 各クラスタノードのヘルスチェック
  3. Consumerが存在しないQueueの有無
  4. 問題の発生しているExchangeの有無
  5. Ready状態および応答のないMessageの有無
  6. 必要なQueueに対応するConsumerの確認

 

手順

1. CVIM の Management ノードにログインします。
2. ログイン後、/root/installer-<version>/toolsに移動します。
  ※上記の<version>は環境によって異なります。

[root@cvim-cpod-mgmtnode ~]# cd /root/installer-22473/tools/
[root@cvim-cpod-mgmtnode tools]# 

 

3. Pythonスクリプト rabbit_api.py を実行します。

[root@cvim-cpod-mgmtnode tools]# python rabbit_api.py 
=============================================
1.CLUSTER STATUS
=============================================
Nodes in rabbitmq cluster
Node:rabbit@cpod-control-1 Running:True partition:[]
Node:rabbit@cpod-control-2 Running:True partition:[]
Node:rabbit@cpod-control-3 Running:True partition:[]
CLUSTER CHECK RESULT: PASSED
============================================
2. Health check on each cluster node
============================================
healthchecks/node/rabbit@cpod-control-1
200 {u'status': u'ok'}
HEALTH ALIVENESS CHECK: PASSED
healthchecks/node/rabbit@cpod-control-2
200 {u'status': u'ok'}
HEALTH ALIVENESS CHECK: PASSED
healthchecks/node/rabbit@cpod-control-3
200 {u'status': u'ok'}
HEALTH ALIVENESS CHECK: PASSED
=============================================
3. List queues with no consumers
=============================================
CONSUMERS CHECK RESULT: PASSED
==============================================
4. Check if critical exchanges are present
==============================================
EXCHANGE CHECK RESULT: PASSED
===============================================
5. Ready and Unacked Messages Overview
===============================================
Messages Ready:0 Unacked: 0
================================================
6. Check for the required queues and if  they have the right number of consumers
================================================
CONSUMERS CHECK IN CRITICAL QUEUES CHECK:                         PASSED
================================================================
OVERALL RESULT: PASS
[root@cvim-cpod-mgmtnode tools]# 

 

問題が検出されなかった項目は'PASSED'と表示されますが、問題が検出された場合には'FAILED'と表示されます。

 

 rabbitmqctlコマンドを使用した確認

 RabbiMQ管理ツール rabbitmqctl を使うとクラスタステータスやキューのステータスなど様々な情報の詳細を確認することができます。

 

手順

1. Controllerノードにログインし、rabbitmq dockerコンテナに入ります。alias に登録されているため、Controllerノード上で 'rabbit' と入力することで rabbitmq dockerコンテナに入ることができます。

[root@cpod-control-1 ~]# rabbit
rabbitmq_22473 [rabbitmq@cpod-control-1 /]$ 

2. rabbimqctl コマンドと以下のオプションを使ってそれぞれの詳細を出力します。

  rabbitmqctl cluster_status
  rabbitmqctl list_vhosts
  rabbitmqctl list_users
  rabbitmqctl list_user_permissions <user>
  rabbitmqctl list_parameters
  rabbitmqctl list_global_parameters
  rabbitmqctl list_policies
  rabbitmqctl list_permissions
  rabbitmqctl list_queues
  rabbitmqctl list_exchanges
  rabbitmqctl list_bindings
  rabbitmqctl list_connections
  rabbitmqctl list_channels
  rabbitmqctl list_consumers
  rabbitmqctl list_hashes
  rabbitmqctl list_ciphers

         * rabbitmqctl list_user_permissions <user>の<user>は'rabbitmqctl list_users'で出力されたユーザが入ります。

 

実行例:rabbitmqctl cluster_status を実行してクラスタステータスを確認する

rabbitmq_22473 [rabbitmq@cpod-control-1 /]$ rabbitmqctl cluster_status
Cluster status of node rabbit@cpod-control-1 ...
[{nodes,[{disc,['rabbit@cpod-control-1','rabbit@cpod-control-2',
                'rabbit@cpod-control-3']}]},
 {running_nodes,['rabbit@cpod-control-2','rabbit@cpod-control-3',
                 'rabbit@cpod-control-1']},
 {cluster_name,<<"rabbit@cpod-control-3">>},
 {partitions,[]},
 {alarms,[{'rabbit@cpod-control-2',[]},
          {'rabbit@cpod-control-3',[]},
          {'rabbit@cpod-control-1',[]}]}]
rabbitmq_22473 [rabbitmq@cpod-control-1 /]$ 

 

実行例:rabbitmqctl list_queues を実行してQueueを確認する

rabbitmq_22473 [rabbitmq@cpod-control-1 /]$ rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
q-agent-notifier-dvr-update.cpod-osd-compute-1  0
q-server-resource-versions_fanout_e0ce81f94c2f4bfba5021230f303b65a      0
q-agent-notifier-network-update_fanout_a77d4bff451540b09c13a1b390139326 0
heat-engine-listener.00cfa180-f357-44ed-a7ea-eded1fff134f       0
q-plugin_fanout_200bb55ea02e4ab583e95e9d33c626f1        0
engine_worker_fanout_8741e5017a3e41d4b1baaa39a56ef479   0
heat-engine-listener_fanout_b4a66998f82a4be48c2388e0479c9ced    0
q-agent-notifier-tunnel-delete_fanout_1a696db8f5a74ebe8d475935601944e6  0
neutron-vo-SubPort-1.0.cpod-control-2   0
q-agent-notifier-security_group-update.cpod-compute-4   0
q-agent-notifier-network-update.cpod-compute-1  0
engine_fanout_a899c8a942f640189593a1ed3e45a4d7  0
q-agent-notifier-port-update_fanout_4740d8ac8e7844278584642700ef86cf    0
q-server-resource-versions_fanout_7c3b3f9ff82a45cfb61bb74f49da35a0      0
q-agent-notifier-dvr-update.cpod-compute-3      0
reply_e92c8ca1064c4cc4b8c5cbdd8aa8459c  0
....
....

 

関連情報

rabbitmqclt(8)

https://www.rabbitmq.com/rabbitmqctl.8.html

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします