一、管理RabbitMQ
1、日志一般存放位置
Linux上:
/var/log/rabbitmq/rabbit@XXX.log
/var/log/rabbitmq/rabbit@XXX-sasl.log
Windows上:
C:\Users\Administrator\AppData\Roaming\RabbitMQ\log\ rabbit@XXX.log
C:\Users\Administrator\AppData\Roaming\RabbitMQ\log\ rabbit@ XXX-sasl.log
第一个是记录MQ启动、连接日志,第二个是saal用来记录Erlang相关的信息,例如查看Erlang崩溃的报告。
2、管理虚拟主机
rabbitmqctl add_vhost [vhost_name]
rabbitmqctl list_vhosts
3、启动和关闭rabbitmq
1)以服务方式
service rabbitmq-server stop
service rabbitmq-server start
service rabbitmq-server status
2)以应用程序方式
rabbitmq-server会启动Erlang节点和Rabbitmq应用
rabbitmqctl stop会关闭Erlang节点和Rabbitmq应用
rabbitmqctl status可以检查消息节点是否正常
Rabbitmq配置文件放在/etc/rabbitmq下,名为rabbitmq.config,没有且需要使用则可以自己新建一个。
3)单独关闭RabbitMQ应用
rabbitmqctl stop_app 关闭Rabbitmq应用
rabbitmqctl start_app 启动Rabbitmq应用
4、用户管理
rabbitmqctl add_user [username] [pwd]
rabbitmqctl delete_user [username]
rabbitmqctl change_password Username Newpassword
rabbitmqctl list_users
5、用户权限控制
guest用户:
guest是默认用户,具有默认virtual host "/"上的全部权限,仅能通过localhost访问RabbitMQ包括Plugin,建议删除或更改密码。可通过将配置文件中loopback_users来取消其本地访问的限制[{rabbit, [{loopback_users, []}]}]
用户权限:
用户仅能对其所能访问的virtual hosts中的资源进行操作。这里的资源指的是virtual hosts中的 exchanges、queues等,操作包括对资源进行配置、写、读。配置权限可创建、删除、资源并修改资源的行为,写权限可向资源发送消息,读权限从资源获取消息。比如:
exchange和queue的declare与delete分别需要:exchange和queue上的配置权限。
queue的bind与unbind 需要:queue写权限,exchange的读权限。
发消息(publish)需exchange的写权限。
获取或清除(get、consume、purge)消息需queue的读权限。
对何种资源具有配置、写、读的权限通过正则表达式来匹配,具体命令如下:
rabbitmqctl set_permissions [-p <vhostpath>] <user><conf><write><read>
如用户chj在虚拟主机logHost上的所有权限:
rabbitmqctl set_permissions –p logHost chj '.*' '.*' '.*'
6、设置用户角色:
rabbitmqctl set_user_tags User TagUser为用户名,Tag为角色名(对应于下面的administrator,monitoring,policymaker&