Rabbitmq学习之路-rabbitmqctl

  学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段。

rabbitmqctl的使用方法:

?
1
2
3
rabbitmqctl [ - n <node>] [ - q] <command> [<command options>]
     - n node 默认node名称是 "rabbit@server" ,如果你的主机明是 'server.example.com' ,那么node名称是 'rabbit@server'
     - q 安静输出模式,信息会被禁止输出
Commands:

基本的管理功能

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
stop [<pid_file>] 
     #停止在erlang node上运行的rabbitmq,会使rabbitmq停止
stop_app  
     #停止erlang node上的rabbitmq的应用,但是erlang node还是会继续运行的
start_app  
     #启动erlan node上的rabbitmq的应用
wait <pid_file> 
     #等待rabbitmq服务启动
reset 
     #初始化node状态,会从集群中删除该节点,从管理数据库中删除所有数据,例如vhosts等等。在初始化之前rabbitmq的应用必须先停止
force_reset 
     #无条件的初始化node状态
rotate_logs <suffix>  
     #轮转日志文件
cluster管理
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
join_cluster <clusternode> [ - - ram] 
     #clusternode表示node名称,--ram表示node以ram node加入集群中。默认node以disc node加入集群,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app。
cluster_status 
     #显示cluster中的所有node
change_cluster_node_type disc | ram 
     #改变一个cluster中node的模式,该节点在转换前必须先停止,不能把一个集群中唯一的disk node转化为ram node
forget_cluster_node [ - - offline] 
     #远程移除cluster中的一个node,前提是该node必须处于offline状态,如果是online状态,则需要加--offline参数。
update_cluster_nodes clusternode  
     #
sync_queue queue 
     #同步镜像队列
cancel_sync_queue queue   
     #
用户管理
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
add_user <username> <password> 
     #在rabbitmq的内部数据库添加用户
delete_user <username> 
     #删除一个用户
change_password <username> <newpassword> 
     #改变用户密码  \\改变web管理登陆密码
clear_password <username>
     #清除用户密码,禁止用户登录
set_user_tags <username> <tag> ...
     #设置用户tags
list_users 
     #列出用户
add_vhost <vhostpath> 
     #创建一个vhosts
delete_vhost <vhostpath> 
     #删除一个vhosts
list_vhosts [<vhostinfoitem> ...] 
     #列出vhosts
set_permissions [ - p <vhostpath>] <user> <conf> <write> <read> 
     #针对一个vhosts 给用户赋予相关权限
clear_permissions [ - p <vhostpath>] <username> 
     #清除一个用户对vhosts的权限
list_permissions [ - p <vhostpath>]  
     #列出哪些用户可以访问该vhosts
list_user_permissions <username> 
     #列出该用户的访问权限
set_parameter [ - p <vhostpath>] <component_name> <name> <value>
     #
clear_parameter [ - p <vhostpath>] <component_name> <key>
     #
list_parameters [ - p <vhostpath>]
     #
policy管理,策略用来控制和修改queues和exchange在集群中的行为,策略可以应用到vhost
?
1
2
3
4
5
6
7
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>] 
     #列出已有的策略
queues && exchange状态信息
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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>

rabbitmq支持各种插件,开启插件可以使用rabbitmq-plugins命令

插件的开启和关闭方法

?
1
2
3
4
5
rabbitmq - plugins <command> [<command options>]
Commands:
     list [ - v] [ - m] [ - E] [ - e] [<pattern>]  显示所有的的插件。 - v 显示版本 - m 显示名称 - E 显示明确已经开启的 - e显示明确的和暗中开启的
     enable <plugin> ...   开启一个插件
     disable <plugin> ...  关闭一个插件
在debian/ubuntu下插件一般安装路径:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.2/plugins


开启:rabbitmq-plugins enable rabbitmq_management

       rabbitmq_management提供一个基于HTTP的API接口,来管理和监控你的rabbitmq。他有web方式和CLI方式,其实web方式是在后端调用HTTP api

rabbitmq_management插件的用法:

?
1
2
3
web http: / / host: 15672 /  
api http: / / host: 15672 / api /
cli http: / / host: 15672 / cli
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值