百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

超详细的rabbitmqctl管理和监控RabbitMQ命令总结

itomcoil 2025-07-21 14:47 2 浏览

概述

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段。


一、rabbitmqctl语法

rabbitmqctl [-n <node>] [-q] <command> [<command options>]

-n node 默认node名称是"rabbit@server",如果你的主机明是'server.example.com',那么node名称是'rabbit@server'。

-q 安静输出模式,信息会被禁止输出


二、命令用法

1、基本的管理功能

 join_cluster <clusternode> [--ram]      #clusternode表示node名称,--ram表示node以ram node加入集群中。默认node以disc node加入集群,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app。cluster_status      #显示cluster中的所有nodechange_cluster_node_type disc | ram      #改变一个cluster中node的模式,该节点在转换前必须先停止,不能把一个集群中唯一的disk node转化为ram nodeforget_cluster_node [--offline]      #远程移除cluster中的一个node,前提是该node必须处于offline状态,如果是online状态,则需要加--offline参数。update_cluster_nodes clusternode       #sync_queue queue      #同步镜像队列cancel_sync_queue queue


2、cluster管理

 add_user <username> <password>      #在rabbitmq的内部数据库添加用户delete_user <username>      #删除一个用户change_password <username> <newpassword>      #改变用户密码  \\改变web管理登陆密码clear_password <username>     #清除用户密码,禁止用户登录set_user_tags <username> <tag> ...    #设置用户tagslist_users      #列出用户add_vhost <vhostpath>      #创建一个vhostsdelete_vhost <vhostpath>      #删除一个vhostslist_vhosts [<vhostinfoitem> ...]      #列出vhostsset_permissions [-p <vhostpath>] <user> <conf> <write> <read>      #针对一个vhosts 给用户赋予相关权限clear_permissions [-p <vhostpath>] <username>      #清除一个用户对vhosts的权限list_permissions [-p <vhostpath>]       #列出哪些用户可以访问该vhostslist_user_permissions <username>      #列出该用户的访问权限set_parameter [-p <vhostpath>] <component_name> <name> <value>    #clear_parameter [-p <vhostpath>] <component_name> <key>    #list_parameters [-p <vhostpath>]    #


3、用户管理

 set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>]  <name> <pattern> <definition>        #name 策略名称,pattern  正则表达式,用来匹配资源,符合的就会应用设置的策略,apply-to 表示策略应用到什么类型的地方,一般有queues、exchange和all,默认是all。priority 是个整数优先级,definition 是json格式设置的策略。clear_policy [-p <vhostpath>] <name>      #清除一个策略list_policies [-p <vhostpath>]      #列出已有的策略


4、policy管理,策略用来控制和修改queues和exchange在集群中的行为,策略可以应用到vhost

set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>]  
<name> <pattern> <definition>    
    #name 策略名称,pattern  正则表达式,用来匹配资源,符合的就会应用设置的策略,apply-to 表示策略应用到什么类型的地方,一般有queues、exchange和all,默认是all。priority 是个整数优先级,definition 是json格式设置的策略。
clear_policy [-p <vhostpath>] <name>  
    #清除一个策略
list_policies [-p <vhostpath>]  
    #列出已有的策略


5、queues && exchange状态信息

list_queues [-p <vhostpath>] [<queueinfoitem> ...]  
    #返回queue的信息,如果省略了-p参数,则默认显示的是"/"vhosts的信息。
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]  
    #返回exchange的信息。
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...] 
    #返回绑定信息。
list_connections [<connectioninfoitem> ...]  
    #返回链接信息。
list_channels [<channelinfoitem> ...]  
    #返回目前所有的channels。
list_consumers [-p <vhostpath>]  
    #返回consumers,
status  
    #显示broker的状态
environment  
    #显示环境参数的信息
report  
    #返回一个服务状态report,
eval <expr>



三、常用监控命令

1、查看虚拟主机

rabbitmqctl list_vhosts

2、查看队列

rabbitmqctl list_queues


3、查看exchanges

rabbitmqctl list_exchanges

4、查看用户

rabbitmqctl list_users


5、查看连接

rabbitmqctl list_connections

6、查看消费者信息

rabbitmqctl list_consumers

7、查看环境变量

rabbitmqctl environment


8、查看未被确认的队列

rabbitmqctl list_queues name messages_unacknowledged


9、查看单个队列的内存使用

rabbitmqctl list_queues name memory


10、查看准备就绪的队列

rabbitmqctl list_queues name messages_ready



觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

相关推荐

Ollama使用指南【超全版】(olal la)

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

电脑怎么优化(电脑怎么优化性能)

电脑配置和宽带流量也是硬件,但这些要求其实并不需要很高,关键还是怎么去安全使用电脑并进行有效的优化。电脑的应用和优化处理一、电脑的应用和优化处理二、目前,大家使用的个人电脑,配置方面均没多大问题,比如...

电脑win7中那些使用最频繁的命令原来这么丝滑,太顺手了

windows7是目前为止办公家用使用占比较大的操作系统,它的很多操作和整洁的界面让人不想替换,况且,对计算机硬件的支持也是很完美的!虽然目前主流的牛夫人win10和小甜甜win11已经占据了很大一边...

.NetCore 设置环境变量(.net core环境搭建)

.NetCore设置环境变量开发过程中经常要发布一个版本到测试服上给测试人员测试,可能需要直接输出错误信息,需要设置环境变量为Development,如果是IIS可以设置web.config环境变量...

「分享」非常全面的CentOS7系统安全检测和加固脚本

CentOS7系统检测和加固脚本脚本来源:https://github.com/xiaoyunjie/Shell_Script主要是为了Linux系统的安全,通过脚本对Linux系统进行一键检测和一键...

手把手带你进行Golang环境配置(golang运行时配置文件目录)

前言大家好,我是星期八,是一个每天都要在镜子前给自己梳仅剩三根头发的三年码农本次我们来安排一下如何在win平台上配置Go语言开发环境。整体来说,Go配置环境还是挺轻松的,和Python差不多,并且会自...

Elasticsearch 的用户名和密码设置

在Elasticsearch中,用户名和密码的设置取决于安装方式和版本。以下是详细说明:1.Elasticsearch<7.x版本默认无安全认证早期版本默认不启用安全功能,无需用户名...

gpeditmsc找不到文件的解决方法亲测有效

  Gpedit.msc找不到文件的怎么办?Gpedit.msc是用于打开Windows系统组策略的命令程序,缺少它系统会弹出“Gpedit.msc找不到”、“Gpedit.msc打不开”等提示,那么...

Win7命令提示符输入taskkill提示不是内部或外部命令

使用win7系统的用户,想在命令提示符下使用taskkill命令删掉进程的时候,却提示taskkill不是内部或外部命令,也不是可运行的程序,遇到这样的问题,这位用户不知道怎么解决。所以给大家带来了解...

如何使用VSCode+gdbserver远程调试ZMC900E

由于嵌入式设备资源受限,通常无法在其上安装庞大的IDE调试程序,且许多嵌入式系统并无桌面环境。为了方便调试自开发程序,本文介绍利用VSCode与gdbserver进行嵌入式设备上程序的远程调试方法。...

系统优化 命令行也可以这么6?(进行系统优化)

由于命令行的简洁、高效,平时很多操作我们都爱使用命令行来完成。不过系统自带的命令行使用起来有各种不方便,如很多命令自带Y/N开关,这些命令需要手动输入Y/N才能完成,如果自行安装的命令行则要进入安装目...

不借助Linux系统,在Windows下如何搭建ZMC900E交叉编译环境

不需要依赖笨重的虚拟机,也不需要安装双系统。抛开繁琐的环境准备,在Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建交叉编译环境,不借助Linux系统,直接进行交叉编译。前言...

超详细的rabbitmqctl管理和监控RabbitMQ命令总结

概述MQ全称为MessageQueue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序...

《Windows 学习:100 条命令大全》内容总结

一、文件与目录管理1.基础操作dir:用于列出当前目录下的文件和子目录。在命令提示符中输入dir,即可显示当前目录的内容,如文件名称、大小、修改日期等信息。若想查看隐藏文件,可使用dir/a命令。...

Python 3.14 新特性盘点,更新了些什么?

Python3.14.0稳定版将于2025年10月正式发布,目前已进入beta测试阶段。这意味着在往后的几个月里,3.14的新功能已冻结,不再合入新功能(除了修复问题和完善文档)。3...