用户角色分为5中类型:node
用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其余。shell
可登录管理控制台(启用management plugin的状况下),可查看全部的信息,而且能够对用户,策略(policy)进行操做。数据库
可登录管理控制台(启用management plugin的状况下),同时能够查看rabbitmq节点的相关信息(进程数,内存使用状况,磁盘使用状况等)服务器
可登录管理控制台(启用management plugin的状况下), 同时能够对policy进行管理。但没法查看节点的相关信息app
仅可登录管理控制台(启用management plugin的状况下),没法看到节点信息,也没法对策略进行管理。运维
没法登录管理控制台,一般就是普通的生产者和消费者。fetch
# 查询节点状态 rabbitmqctl status # 中止RabbitMQ应用,可是Erlang虚拟机仍是处于运行状态。此命令的执行优先于其余管理操做,好比rabbitmqctl reset。 rabbitmqctl stop_ app # 启动RabbitMQ应用。在执行了其余管理操做以后,从新启动以前中止的RabbitMQ应用,比rabbitmqctl reset。 rabbitmqctl start_app # 重置RabbitMQ节点,将RabbitMQ节点重置还原到最初状态。包括从原来所在的集群中删除此节点,从管理数据库 中删除全部的配置数据,如己配置的用户、 vhost 等,以及删除全部的持久化消息。执行 rabbi tmqctl reset 命令前必须中止RabbitMQ 应用。 rabbitmqctl reset # 强制将 RabbitMQ 节点重置还原到最初状态。不一样于 rabbitmqctl reset 命令, rabbitmqctl force_reset 命令不论当前管理数据库的状态和集群配置是什么,都会无条件地重直节点。它只能在数据库或集群配置己损坏的状况下使用。与 rabbitmqctl reset 命令同样,执行 rabbitmqctl force_reset 命令前必须先中止 RabbitMQ 应用。 rabbitmqctl force_reset # 指示RabbitMQ节点轮换日志文件。RabbitMQ节点会将原来的日志文件中的内容追加到"原 始名称+后缀"的日志文件中,而后再将新的日志内容记录到新建立的日志中(与原日志文件同名)。当目标文件不存在时,会从新建立。若是不指定后缀suffix. 则日志文件只是从新打开而不会进行轮换。 rabbitmqctl rotate_logs {suffix} # 中止运行RabbitMQ的Erlang虚拟机和RabbitMQ应用。若是RabbitMQ没有成功关闭,则会返回一个非零值。这个命令和rabbitmqctl stop 不一样的是,它不须要指定pid_file而能够阻塞等待指定进程的关闭。 rabbitmqctl shutdown # 中止运行RabbitMQ的Erlang虚拟机和RabbitMQ服务应用,其中pid_file是经过rabbitmq-server命令启动RabbitMQ 服务时建立的,默认状况下存放于mnesia目录中。注意rabbitmq-server -detach 这个带有 -detach后缀的命令来启动 RabbitMQ 服务则不会生成 pid_file 文件。指定pid_file会等待指定进程的结束。 rabbitmqctl stop [pid_file]
# rabbitmq-plugins [-n node] {command} [command options ...] # 启动插件 # rabbitmq-plugins enable [--offline] [--online] {plugin ...} rabbitmq-plugins enable rabbitmq_management # 禁用插件 # rabbitmq-plugins disable [--offline] [--online] {plugin ...} rabbitmq-plugins disable rabbitmq_management # 表示启用参数指定的插件,而且禁用其余全部插件 # 没有参数表示禁用全部的插件 rabbitmq-plugin set rabbitmq_management # 显示全部的插件,每一行一个 rabbitmq-plugins list # 显示全部的插件,而且显示插件的版本号和描述信息 rabbitmq-plugins list -v # 显示全部名称含有 "management" 的插件 rabbitmq-plugins list -v management # 显示全部显示或者隐式启动的插件 rabbitmq-plugins list -e rabbit
# name:罗列出全部虚拟机,tracing:表示是否使用了 RabbitMQ 的 trace 功能 rabbitmqctl list_vhosts [name,tracing] # 查看交换器 rabbitmqctl list_exchanges [-p vhost] [exchangeinfoitem ...] # 查看绑定关系的细节 rabbitmqctl list_bindings [-p vhost] [bindinginfoitem ...] # 查看已声明的队列 rabbitmqctl list_queues [-p vhost] [queueinfoitem ...] # 返回 TCP!IP链接的统计信息。 rabbìtmqctl lìst_connectìons [connectìonìnfoìtem ...] # 返回当前全部信道的信息。 rabbitmqctl list_channels [channelinfoitem ...] # 列举消费者信息 每行将显示由制表符分隔的己订阅队列的名称、相关信道的进程标识、consumerTag、是否须要消费端确认 prefetch_count 及参数列表这些信息。 rabbitmqctl list_consumers [-p vhost] # 建立一个新的 vhost ,大括号里的参 数表示 vhost 的名称。 rabbitmqctl add vhost {vhostName} # 删除一个vhost,同时也会删除其下全部的队列、交换器、绑定关系、 用户权限、参数和策略等信息。 rabbitmqctl delete_vhost {vhostName} # RabbitMQ 中的授予权限是指在 vhost 级别对用户而言的权限授予。 rabbitmqctl set permissions [-p vhostName] {userName} {conf} {write} {read} # 对RabbitMQ 节点进行健康检查,确认应用是否正常运行、list_queues list_channels 是否可以正常返回等。 rabbitmqctl node_health_check # 显示每一个运行程序环境中每一个变量的名称和值。 rabbitmqctl environment # 为全部服务器状态生成一个服务器状态报告,井将输出重定向到一个文件:rabbitmqctl report > report.txt rabbitmqctl report # 显示 Broker 的状态,好比当前 Erlang 节点上运行的应用程序、RabbitMQ/Erlang的版本信息、os 的名称、内 存及文件描述符等统计信息。 rabbitmqctl status # 策略管理 # 策略查看 rabbitmqctl list_policies [-p <vhost>] # 策略设置 rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition> # 策略清除 rabbitmqctl clear_policy [-p <vhost>] <name>
# 显示集群的状态 rabbitmqctl cluster_status # 将节点加入指定集群中。在这个命令执行前须要中止 RabbitMQ应用井重置节点。 rabbitmqctl joio_cluster {cluster_node} [--ram] # 修改集群节点的类型。在这个命令执行前须要中止 RabbitMQ应用。 rabbitmqctl change_cluster_node_type {disclram} # 将节点从集群中删除,容许离线执行。 rabbitmqctl forget_cluster_node [--offiine] # 来查看那些slaves已经完成同步: rabbitmqctl list_queues {queue_name} {slave_pids} synchronised_slave_pids # 手动的方式同步一个queue: rabbitmqctl sync_queue {queue_name} # 取消某个queue的同步功能: rabbitmqctl cancel_sync_queue {queue_name}
# 查看用户列表 rabbitmqctl list_users # 删除用户 rabbitmqctl delete_user {username} # 清除用户密码 rabbitmqctl clear_password {username} # 修改密码 rabbitmqctl change_password {username} {newPassword} # 验证用户 rabbitmqctl authentiçate_user {username} {passWord} # 新增用户 rabbitmqctl add_user {username} {password} # 给用户受权 rabbitmqctl set_user_tags {username} {roles} # 清楚用户对某个虚拟机的权限。 rabbitmqctl clear_permissions [-p vhostName] {username} # 用来显示虚拟主机上的权限。 rabbitmqctl list_permissions [-p vhost] # 用来显示用户在已分配虚拟机上的权限。 rabbitmqctl list_user_permissions {username}
# 能够建立管理员用户,负责整个MQ的运维 rabbitmqctl add_user admin adminpasspord # 赋予其administrator角色 rabbitmqctl set_user_tags admin administrator # 建立RabbitMQ监控用户,负责整个MQ的监控 rabbitmqctl add_user user_monitoring passwd_monitor # 赋予其monitoring角色 rabbitmqctl set_user_tags user_monitoring monitoring