rabbitmqadmin 使用方法

作用

一個可以對 rabbitmq 進行監控的 python 腳本

獲取方法

curl http://rabbitmq-server:15672/cli/rabbitmqadmin > rabbitmqadmin

該工具只是一種用於訪問 rabbitmq-server api 便捷方式
工具主要獲取了 rabbitmq api 接口, 接口信息參見該腳本中 URIS 字典信息
方便在 cli 環境下獲取 rabbitmq server 狀態信息而已
支持對 api 執行 get, put, post, delete 方法訪問,意味着可以獲取,修改,更新 rabbitmq 服務器狀態

配置方法

參考 config_usage() 進行配置
配置文件 radmin.conf

[host_normal]
hostname = localhost
port = 15672
username = admin
password = admin
declare_vhost = / # Used as default for declare / delete only
vhost = / 

rabbitmqadmin 使用方法

獲取本地隊列

[root@mailtest-8vnaw ~]# ./rabbitmqadmin --config=rabbitmqadmin.conf  list exchanges
+-------+--------------------+---------+-------------+---------+----------+--------+
| vhost |        name        |  type   | auto_delete | durable | internal | policy |
+-------+--------------------+---------+-------------+---------+----------+--------+
| /     |                    | direct  | False       | True    | False    | ha-all |
| /     | amq.direct         | direct  | False       | True    | False    |        |
| /     | amq.fanout         | fanout  | False       | True    | False    |        |
| /     | amq.headers        | headers | False       | True    | False    |        |
| /     | amq.match          | headers | False       | True    | False    |        |
| /     | amq.rabbitmq.log   | topic   | False       | True    | True     |        |
| /     | amq.rabbitmq.trace | topic   | False       | True    | True     |        |
| /     | amq.topic          | topic   | False       | True    | False    |        |
| /     | mq-test            | fanout  | False       | True    | False    | ha-all |
| /     | python-test        | fanout  | False       | True    | False    | ha-all |
| /     | win-test           | fanout  | False       | False   | False    | ha-all |
+-------+--------------------+---------+-------------+---------+----------+--------+

查詢隊列狀態信息

 ./rabbitmqadmin --config=rabbitmqadmin.conf list queues vhost name node messages message_stats.publish_details.rate
+-------+-------------+-------------------------------+----------+------------------------------------+
| vhost |    name     |             node              | messages | message_stats.publish_details.rate |
+-------+-------------+-------------------------------+----------+------------------------------------+
| /     | mq-test     | rabbit@terry-zabbixtest-xyndf |          |                                    |
| /     | python-test | rabbit@terry-zabbixtest-xyndf |          |                                    |
| /     | win-test    | rabbit@mailtest-8vnaw         | 60329    | 0.0                                |
+-------+-------------+-------------------------------+----------+------------------------------------+

獲取隊列最近消費詳細信息
./rabbitmqadmin --config=rabbitmqadmin.conf -f long -d 3 list queues

--------------------------------------------------------------------------------

                                    vhost: /
                                     name: win-test
                              auto_delete: False
 backing_queue_status.avg_ack_egress_rate: 3.09872133306e-25
backing_queue_status.avg_ack_ingress_rate: 1.58476984784e-25
     backing_queue_status.avg_egress_rate: 1.58476984784e-25
    backing_queue_status.avg_ingress_rate: 59.2546229203
               backing_queue_status.delta: ["delta", "undefined", 0, "undefined"]
                 backing_queue_status.len: 60329
         backing_queue_status.mirror_seen: 0
      backing_queue_status.mirror_senders: 0
         backing_queue_status.next_seq_id: 17731285
        backing_queue_status.pending_acks: 0
    backing_queue_status.persistent_count: 60329
                  backing_queue_status.q1: 0
                  backing_queue_status.q2: 0
                  backing_queue_status.q3: 0
                  backing_queue_status.q4: 60329
       backing_queue_status.ram_ack_count: 0
       backing_queue_status.ram_msg_count: 60329
    backing_queue_status.target_ram_count: infinity
                     consumer_utilisation:
                                consumers: 0
                                  durable: True
                   exclusive_consumer_tag:
                               idle_since: 2020-07-02 9:52:49
                                   memory: 59420008                                <-- 佔用內存數量
                        message_stats.ack: 17670896
           message_stats.ack_details.rate: 0.0
                    message_stats.deliver: 17687356
       message_stats.deliver_details.rate: 0.0
                message_stats.deliver_get: 17687416                                <-  已被 customer 完成接收的消息
   message_stats.deliver_get_details.rate: 0.0
             message_stats.deliver_no_ack: 60
message_stats.deliver_no_ack_details.rate: 0.0
                    message_stats.publish: 17731285
       message_stats.publish_details.rate: 0.0
                  message_stats.redeliver: 16460
     message_stats.redeliver_details.rate: 0.0
                                 messages: 60329                                     <--- 已推送到server 但未被 customer 消費確認
                    messages_details.rate: 0.0
                           messages_ready: 60329                                     <-- 可用於 delivery 的消息隊列
              messages_ready_details.rate: 0.0                                       <-- 信息 ready 的比例
                  messages_unacknowledged: 0
     messages_unacknowledged_details.rate: 0.0
                                     node: rabbit@mailtest-8vnaw
                                   policy: ha-all
                              slave_nodes: rabbit@terry-zabbixtest-xyndf
                                    state: running
                 synchronised_slave_nodes: rabbit@terry-zabbixtest-xyndf
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章