rabbitmq常用命令

一、‌通过命令行工具查看‌ ‌查看队列基础信息‌ 列出所有队列及消息数量: rabbitmqctl list_queues name messages_ready messages_unacknowledged (输出示例:队列名称、待消费消息数、未确认消息数)‌57 查看交换机、绑定关系等元数据

一、‌通过命令行工具查看

  1. 查看队列基础信息

    • 列出所有队列及消息数量:

      rabbitmqctl list_queues name messages_ready messages_unacknowledged

      (输出示例:队列名称、待消费消息数、未确认消息数)‌57

    • 查看交换机、绑定关系等元数据:

      rabbitmqctl list_exchanges # 所有交换机 
      rabbitmqctl list_bindings # 绑定关系 
      ```‌:ml-citation{ref="5,7" data="citationList"}
  2. 查看消息内容

    • 从队列中获取指定数量的消息(需在 RabbitMQ 安装目录执行):

      ./rabbitmqctl get_queue_messages <队列名> <数量>

      (输出包含消息体及元数据)‌47


二、‌通过 Web 管理界面查看

  1. 访问管理界面

    • 默认地址:http://<RabbitMQ服务器IP>:15672,使用管理员账号登录‌46

  2. 查看队列数据

    • 导航至 ‌Queues‌ 选项卡,选择目标队列:

      • Messages‌ 字段:显示队列中的消息总数‌46

      • 点击 ‌Get messages‌ 按钮,输入数量后查看消息体(支持 JSON 格式化)‌46


三、‌通过编程接口(Python)获取数据

  1. 安装依赖库

    pip install pika 
    ```‌:ml-citation{ref="1,2" data="citationList"}
  2. 获取队列消息数

    import pika
    def get_queue_size(host, queue_name):
        connection = pika.BlockingConnection(pika.ConnectionParameters(host))
        channel = connection.channel()
        queue = channel.queue_declare(queue=queue_name, passive=True)
        print(f"消息数: {queue.method.message_count}")
        connection.close()
    

    (调用示例:get_queue_size('localhost', 'my_queue'))‌1

  3. 消费全部消息

    def consume_messages(host, queue_name):
        connection = pika.BlockingConnection(pika.ConnectionParameters(host))
        channel = connection.channel()
        while True:
            method, _, body = channel.basic_get(queue=queue_name, auto_ack=True)
            if not method:
                break
            print(f"消息内容: {body.decode()}")
        connection.close()
    ```‌:ml-citation{ref="2" data="citationList"}

四、‌高级查询与监控

  1. 消息轨迹查询

    • 启用 RabbitMQ 的 ‌Trace 插件‌ 后,可通过控制台按时间范围、Routing Key、Header 等条件筛选消息(最多返回 1000 条)‌6

  2. 集群与节点状态

    • 检查节点健康状态:

      rabbitmqctl status # 查看节点资源使用及运行状态 rabbitmqctl list_connections # 活跃连接信息 ```‌:ml-citation{ref="5,7" data="citationList"}

      验证集群高可用性(如镜像队列配置)‌37

LICENSED UNDER CC BY-NC-SA 4.0
Comment