rabbitmqadmin 使用方法

    技术2022-07-13  83

    作用

    一个可以对 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
    Processed: 0.015, SQL: 9