rabbitmqadmin是rabbitmq-management plugin支持的命令行工具。
相比rabbitmqctl而言,其功能更加强大。
rabbitmq-management插件提供了一个基于HTTP的API,用于管理和监控您的RabbitMQ服务器,以及基于浏览器的用户界面和命令行工具rabbitmqadmin。
具体的功能包括:
声明,列出和删除交换,队列,绑定,用户,虚拟主机和权限。
监控队列长度,全局和每个通道的消息速率,每个连接的数据速率等。
监视资源使用情况,如文件描述符,内存使用情况,可用磁盘空间。
管理用户(提供当前用户的管理权限)。
将对象定义(虚拟主机,用户,权限,队列,交换,绑定,参数,策略)导出和导入JSON。
强制关闭连接,清除队列。
发送和接收消息(在开发环境和故障排除中很有用)。
1. enable rabbitmqadmin:
[root@localhost rabbitmq]# rabbitmq-plugins enable rabbitmq_management
2. 安装:其实安装了rabbitmq之后就有了
-
- wget http://10.30.30.126:15672/cli/rabbitmqadmin
- 或
- [root@localhost rabbitmq]# cp /var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand/rabbitmq_management-3.8.9/priv/www/cli/rabbitmqadmin /usr/bin/
-
- [root@localhost rabbitmq]# chmod +x /usr/bin/rabbitmqadmin
3. rabbitmqadmin 命令汇总:
登录执行列出所有用户:rabbitmqadmin -u username -p password list users
- **rabbitmqctl命令**
- 启动服务:rabbitmq-server -detached //后台
- 停止运行:rabbitmqctl stop
- 查看状态:rabbitmqctl status
- 关闭服务:rabbitmqctl stop
- 列出角色:rabbitmqctl list_users
- rabbitmqctl add_user{用户名}{密码}//添加用户,后面两个参数分别是用户名和密码
- rabbitmqctl set_permissions -p / {用户名} ".*" ".*" ".*" //添加权限
- rabbitmqctl set_user_tags {用户名} administrator //修改用户角色
- 删除节点、
- rabbitmqctl stop_app
- rabbitmqctl forget_cluster_node { rabbit@节点名称}
- rabbitmqctl start_app
- 增加节点、
- scp /root/.erlang.cookie root@{ip}:/root/ //在已有节点执行。
- //以下在要新增的节点执行。
- rabbitmqctl stop_app
- rabbitmqctl join_cluster --ram { rabbit@节点名称}
- rabbitmqctl start_app
- 查看集群状态:
- rabbitmqctl cluster_status
- **rabbitmqadmin命令**
- rabbitmqadmin --help
- rabbitmqadmin help subcommands
- rabbitmqadmin help config
- rabbitmqadmin list users 查看所有用户 User
- rabbitmqadmin list users name 查看所有用户名 Username
- rabbitmqadmin list users tags 查看所有用户角色
- rabbitmqadmin list vhosts 查看所有虚拟主机
- rabbitmqadmin list connections 查看所有连接
- rabbitmqadmin list exchanges 查看所有路由 Exchange
- rabbitmqadmin list bindings 查看所有路由与队列的关系绑定binding
- rabbitmqadmin list permissions 查看所有角色的权限 Permission
- rabbitmqadmin list channels 查看所有通道 Channel
- rabbitmqadmin list consumers 查看所有消费者 Consumer
- rabbitmqadmin list queues 查看所有消息队列 Queue
- rabbitmqadmin list nodes 查看所有节点 Node
- rabbitmqadmin show overview 概览 Overview
- rabbitmqadmin list bindings source destination_type destination properties_key 查看所有路由与队列的关系绑定的详细信息 Binding
- rabbitmqadmin purge queue name=test 清空队列
- rabbitmqadmin -f raw_json list users 格式化输出
- rabbitmqadmin -f long list users 格式化输出
- rabbitmqadmin -f pretty_json list users
- rabbitmqadmin -f kvp list users
- rabbitmqadmin -f tsv list users
- rabbitmqadmin -f table list users
- rabbitmqadmin -f bash list users
- rabbitmqadmin declare queue name=test durable=true 定义一个队列queue,durable=true 代表持久化打开。
- rabbitmqadmin publish routing_key=test payload="just for test" 发布一条消息
- rabbitmqadmin get queue=test requeue=true 消费一条信息
- rabbitmqadmin get queue=test requeue=false
- rabbitmqadmin declare exchange name=my.fanout type=fanout 定义一个Fanout路由
- rabbitmqadmin declare exchange name=my.direct type=direct 定义一个Direct路由
- rabbitmqadmin declare exchange name=my.topic type=topic 定义一个Topic路由
- rabbitmqadmin declare binding source=my.fanout destination=test routing_key=first 定义 binding
- rabbitmqadmin delete queue name=hello 删除消息队列 Queue
- rabbitmqadmin delete user name=test 删除用户 User
- rabbitmqadmin delete exchange name=test 删除路由器 Exchange
- rabbitmqadmin delete binding source='kk' destination_type=queue destination=test properties_key=test 删除路由器与消息队列的关系绑定 Binding
- rabbitmqadmin publish routing_key=first exchange=my.fanout payload="just for test1" 使用路由转发消息
- 待添加ing。。。
登录执行列出所有用户:rabbitmqadmin -u username -p password list users
命令 | 解释 |
---|---|
rabbitmqadmin list users | 查看所有用户 User |
rabbitmqadmin list users name | 查看所有用户名 Username |
rabbitmqadmin list users tags | 查看所有用户角色 |
rabbitmqadmin list vhosts | 查看所有虚拟主机 |
rabbitmqadmin list connections | 查看所有连接 |
rabbitmqadmin list exchanges | 查看所有路由 Exchange |
rabbitmqadmin list bindings | 查看所有路由与队列的关系绑定 Binding |
rabbitmqadmin list permissions | 查看所有角色的权限 Permission |
rabbitmqadmin list channels | 查看所有通道 Channel |
rabbitmqadmin list consumers | 查看所有消费者 Consumer |
rabbitmqadmin list queues | 查看所有消息队列 Queue |
rabbitmqadmin list nodes | 查看所有节点 Node |
rabbitmqadmin show overview | 概览 Overview |
rabbitmqadmin list bindings source destination_type destination properties_key | 查看所有路由与队列的关系绑定的详细信息 Binding |
rabbitmqadmin declare queue name=test durable=true | 定义一个队列queue,durable=true代表持久化打开。 |
rabbitmqadmin declare exchange name=my.fanout type=fanout | 定义一个Fanout路由 |
rabbitmqadmin declare exchange name=my.direct type=direct | 定义一个Direct路由 |
rabbitmqadmin declare exchange name=my.topic type=topic | 定义一个Topic路由 |
rabbitmqadmin declare binding source=my.fanout destination=test routing_key=first | 定义 binding |
rabbitmqadmin publish routing_key=test payload="hello world" | 发布一条消息 |
rabbitmqadmin publish routing_key=my.test exchange=my.topic payload="hello world" | 使用路由转发消息 |
rabbitmqadmin get queue=test requeue=true | 查看消息,不消费 |
rabbitmqadmin get queue=test requeue=false | 查看消息,并消费 |
rabbitmqadmin purge queue name=test | 删除队列中的所有消息 |
rabbitmqadmin delete queue name=hello | 删除消息队列 Queue |
rabbitmqadmin delete user name=test | 删除用户 User |
rabbitmqadmin delete exchange name=test | 删除路由器 Exchange |
rabbitmqadmin delete binding source='kk' destination_type=queue destination=test properties_key=test | 删除路由器与消息队列的关系绑定 Binding |
rabbitmqadmin -f raw_json list users | raw_json 格式化输出 |
rabbitmqadmin -f long list users | 格式化输出 |
rabbitmqadmin -f pretty_json list users | pretty_json 格式化输出 |
rabbitmqadmin -f kvp list users | 格式化输出 |
rabbitmqadmin -f tsv list users | 格式化输出 |
rabbitmqadmin -f table list users | table 格式化输出 |
rabbitmqadmin -f bash list users | bash 格式化输出 |
rabbitmq-diagnostics(8) — RabbitMQ
作用 诊断 监控 健康检查
语法
rabbitmq-diagnostics [-n {nodename}] [-t timeout] [-q] [-s] [-l]{command} [command options...]
-n 指定操作命令的节点 格式 rabbit@target-hostname rabbit 是前缀 ,target-hostname 是hostname
-t 指定操作超时时间 单位秒
-q 指 信息消息会被隐藏
-s 信息消息会被隐藏 和 表头 信息减少
-l 如果指定的节点 配置了longname nodenames 环境变量,则操作的时候必须带上-l 参数,代表使用 longname nodenames