RabbitMQ-常用命令

RabbitMQ常用命令

3.1 启动停止rabbitMQ命令

# 前台启动Erlang VM 和 RabbitMQ 当窗口关闭或者ctrl+c时,使退出了。
rabbitmq-server

# 使用系统命令启动
systemctl start rabbitmq-server

# 后台启动
rabbitmq-server -detached

# 停止rabbitMQ和Erlang VM
rabbitmq-server stop

样例输出

启动命令-rabbitmq-server

[root@mes01 soft]# rabbitmq-server

  ##  ##      RabbitMQ 3.8.5
  ##  ##
  ##########  Copyright (c) 2007-2020 VMware, Inc. or its affiliates.
  ######  ##
  ##########  Licensed under the MPL 1.1. Website: https://rabbitmq.com

  Doc guides: https://rabbitmq.com/documentation.html
  Support:    https://rabbitmq.com/contact.html
  Tutorials:  https://rabbitmq.com/getstarted.html
  Monitoring: https://rabbitmq.com/monitoring.html

  Logs: /var/log/rabbitmq/rabbit@mes01.log
        /var/log/rabbitmq/rabbit@mes01_upgrade.log

  Config file(s): (none)

  Starting broker... completed with 3 plugins.

后台启动命令-rabbitmq-server -detached

[root@mes01 soft]# rabbitmq-server -detached
[root@mes01 soft]# 

停止命令-rabbitmq-server stop

[root@mes01 soft]# rabbitmq-server stop
BOOT FAILED
===========
ERROR: distribution port 25672 in use by rabbit@mes01

14:12:35.938 [error] 
14:12:35.943 [error] BOOT FAILED
14:12:35.943 [error] ===========
14:12:35.943 [error] ERROR: distribution port 25672 in use by rabbit@mes01
14:12:35.943 [error] 
14:12:36.946 [error] Supervisor rabbit_prelaunch_sup had child prelaunch started with rabbit_prelaunch:run_prelaunch_first_phase() at undefined exit with reason {dist_port_already_used,25672,"rabbit","mes01"} in context start_error
14:12:36.947 [error] CRASH REPORT Process <0.154.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","mes01"}}},{rabbit_prelaunch_app,start,[normal,[]]}} in application_master:init/4 line 138
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,\"rabbit\",\"mes01\"}}},{rabbit_prelaunch_app,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","mes01"}}},{rabbit_prel

Crash dump is being written to: erl_crash.dump...done

停止命令-rabbitmq-server stop

[root@mes01 soft]# rabbitmqctl stop
Stopping and halting node rabbit@mes01 ...

启动后的进程信息

[root@mes01 ~]# ps -ef | grep rabbitmq
root      1413  1333  0 14:19 pts/0    00:00:00 /sbin/runuser -u rabbitmq -- /usr/lib/rabbitmq/bin/rabbitmq-server
rabbitmq  1421  1413  0 14:19 pts/0    00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server
rabbitmq  1428  1421 43 14:19 pts/0    00:00:12 /usr/lib64/erlang/erts-11.0.2/bin/beam.smp -W w -K true -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -B i -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa  -noshell -noinput -s rabbit boot -boot start_sasl -lager crash_log false -lager handlers []
rabbitmq  1539  1428  0 14:19 ?        00:00:00 erl_child_setup 1024
rabbitmq  1568     1  0 14:19 ?        00:00:00 /usr/lib64/erlang/erts-11.0.2/bin/epmd -daemon
rabbitmq  1595  1539  0 14:19 ?        00:00:00 inet_gethost 4
rabbitmq  1596  1595  0 14:19 ?        00:00:00 inet_gethost 4
root      1679  1621  0 14:19 pts/1    00:00:00 grep --color=auto rabbitmq

3.2 一般操作命令

# 查看所有队列
rabbitmqctl list_queues

# 查看所有虚拟主机
rabbitmqctl list_vhosts

# 在Erlang VM运行的情况下启动或者停止RabbitMQ应用
rabbitmqctl start_app
rabbitmqctl stop_app

# 查看节点状态
rabbitmqctl status

# 查看可用插件
rabbitmq-plugins list

# 启用插件
rabbitmq-plugins enable <plugin-name>

# 停用插件
rabbitmq-plugins disable <plugin-name>

# 移除所有数据 要在rabbitmqctl stop_app之后使用
rabbitmqctl reset


# 查看所有交换器信息-列表式
rabbitmqctl list_exchanges
# 格式化查看
rabbitmqctl list_exchanges --formatter pretty_table 


# 查看绑定的列表 - 查看交换机队列绑定信息
rabbitmqctl list_bindings
# 格式化查看
rabbitmqctl list_bindings --formatter pretty_table

样例:

查看所有队列-rabbitmqctl list_queues

[root@mes01 ~]# rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...

查看所有虚拟主机-rabbitmqctl list_vhosts

[root@mes01 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
name
/

停止RabbitMQ应用-rabbitmqctl stop_app

[root@mes01 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@mes01 ...

当停止应用后,可以观察到mq的进程都还是存在的。但页面已经无法访问

[root@mes01 ~]# ps -ef | grep rabbitmq
rabbitmq  1568     1  0 14:19 ?        00:00:00 /usr/lib64/erlang/erts-11.0.2/bin/epmd -daemon
rabbitmq  1971     1  5 14:22 ?        00:00:41 /usr/lib64/erlang/erts-11.0.2/bin/beam.smp -W w -K true -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa  -noshell -noinput -s rabbit boot -boot start_sasl -lager crash_log false -lager handlers []
rabbitmq  2080  1971  0 14:22 ?        00:00:00 erl_child_setup 32768
rabbitmq  2146  2080  0 14:22 ?        00:00:00 inet_gethost 4
rabbitmq  2396  2146  0 14:24 ?        00:00:00 inet_gethost 4
root      3584  1621  0 14:35 pts/1    00:00:00 grep --color=auto rabbitmq

观察页面,已经不能访问了。

启动RabbitMQ应用-rabbitmqctl start_app

[root@mes01 ~]# rabbitmqctl start_app
Starting node rabbit@mes01 ...

此时查看进程

[root@mes01 ~]# ps -ef | grep rabbitmq
rabbitmq  1568     1  0 14:19 ?        00:00:00 /usr/lib64/erlang/erts-11.0.2/bin/epmd -daemon
rabbitmq  1971     1  5 14:22 ?        00:00:50 /usr/lib64/erlang/erts-11.0.2/bin/beam.smp -W w -K true -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa  -noshell -noinput -s rabbit boot -boot start_sasl -lager crash_log false -lager handlers []
rabbitmq  2080  1971  0 14:22 ?        00:00:00 erl_child_setup 32768
rabbitmq  2146  2080  0 14:22 ?        00:00:00 inet_gethost 4
rabbitmq  2396  2146  0 14:24 ?        00:00:00 inet_gethost 4
root      3841  1621  0 14:38 pts/1    00:00:00 grep --color=auto rabbitmq

查看rabbitMQ管理页面

在这里插入图片描述

查看节点状态-rabbitmqctl status

[root@mes01 ~]# rabbitmqctl status
Status of node rabbit@mes01 ...
Runtime

OS PID: 1971
OS: Linux
Uptime (seconds): 1137
RabbitMQ version: 3.8.5
Node name: rabbit@mes01
Erlang configuration: Erlang/OTP 23 [erts-11.0.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:64] [hipe]
Erlang processes: 448 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /etc/rabbitmq/enabled_plugins
Enabled plugins:

 * rabbitmq_management
 * amqp_client
 * rabbitmq_web_dispatch
 * cowboy
 * cowlib
 * rabbitmq_management_agent

Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@mes01
Raft data directory: /var/lib/rabbitmq/mnesia/rabbit@mes01/quorum/rabbit@mes01

Config files


Log file(s)

 * /var/log/rabbitmq/rabbit@mes01.log
 * /var/log/rabbitmq/rabbit@mes01_upgrade.log

Alarms

(none)

Memory

Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 3.295 gb
other_proc: 0.0333 gb (31.58 %)
code: 0.0277 gb (26.21 %)
allocated_unused: 0.0171 gb (16.17 %)
other_system: 0.0143 gb (13.52 %)
reserved_unallocated: 0.0062 gb (5.9 %)
other_ets: 0.0032 gb (3.05 %)
atom: 0.0014 gb (1.34 %)
plugins: 0.0014 gb (1.32 %)
binary: 0.0002 gb (0.21 %)
mgmt_db: 0.0002 gb (0.21 %)
metrics: 0.0002 gb (0.2 %)
connection_other: 0.0002 gb (0.15 %)
mnesia: 0.0001 gb (0.07 %)
quorum_ets: 0.0 gb (0.05 %)
msg_index: 0.0 gb (0.03 %)
connection_channels: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
queue_slave_procs: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)

File Descriptors

Total: 2, limit: 32671
Sockets: 0, limit: 29401

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 23.2459 gb

Totals

Connection count: 0
Queue count: 0
Virtual host count: 1

Listeners

Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 15672, protocol: http, purpose: HTTP API

查看可用插件-rabbitmq-plugins list

[root@mes01 ~]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@mes01
 |/
[  ] rabbitmq_amqp1_0                  3.8.5
[  ] rabbitmq_auth_backend_cache       3.8.5
[  ] rabbitmq_auth_backend_http        3.8.5
[  ] rabbitmq_auth_backend_ldap        3.8.5
[  ] rabbitmq_auth_backend_oauth2      3.8.5
[  ] rabbitmq_auth_mechanism_ssl       3.8.5
[  ] rabbitmq_consistent_hash_exchange 3.8.5
[  ] rabbitmq_event_exchange           3.8.5
[  ] rabbitmq_federation               3.8.5
[  ] rabbitmq_federation_management    3.8.5
[  ] rabbitmq_jms_topic_exchange       3.8.5
[E*] rabbitmq_management               3.8.5
[e*] rabbitmq_management_agent         3.8.5
[  ] rabbitmq_mqtt                     3.8.5
[  ] rabbitmq_peer_discovery_aws       3.8.5
[  ] rabbitmq_peer_discovery_common    3.8.5
[  ] rabbitmq_peer_discovery_consul    3.8.5
[  ] rabbitmq_peer_discovery_etcd      3.8.5
[  ] rabbitmq_peer_discovery_k8s       3.8.5
[  ] rabbitmq_prometheus               3.8.5
[  ] rabbitmq_random_exchange          3.8.5
[  ] rabbitmq_recent_history_exchange  3.8.5
[  ] rabbitmq_sharding                 3.8.5
[  ] rabbitmq_shovel                   3.8.5
[  ] rabbitmq_shovel_management        3.8.5
[  ] rabbitmq_stomp                    3.8.5
[  ] rabbitmq_top                      3.8.5
[  ] rabbitmq_tracing                  3.8.5
[  ] rabbitmq_trust_store              3.8.5
[e*] rabbitmq_web_dispatch             3.8.5
[  ] rabbitmq_web_mqtt                 3.8.5
[  ] rabbitmq_web_mqtt_examples        3.8.5
[  ] rabbitmq_web_stomp                3.8.5
[  ] rabbitmq_web_stomp_examples       3.8.5

E* 表示启动的插件 e* 表示依赖启动的插件

rabbitmq_management 依赖于rabbitmq_management_agent和rabbitmq_web_dispatch

启用插件-rabbitmq-plugins enable rabbitmq_management

[root@mes01 soft]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@mes01:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@mes01...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

信用插件-rabbitmq-plugins disable rabbitmq_management

[root@mes01 ~]# rabbitmq-plugins disable rabbitmq_management
Disabling plugins on node rabbit@mes01:
rabbitmq_management
All plugins have been disabled.
Applying plugin configuration to rabbit@mes01...
The following plugins have been disabled:
  rabbitmq_management_agent
  rabbitmq_web_dispatch
  rabbitmq_management

stopped 3 plugins.

再次检查插件列表

[root@mes01 ~]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@mes01
 |/
[  ] rabbitmq_amqp1_0                  3.8.5
[  ] rabbitmq_auth_backend_cache       3.8.5
[  ] rabbitmq_auth_backend_http        3.8.5
[  ] rabbitmq_auth_backend_ldap        3.8.5
[  ] rabbitmq_auth_backend_oauth2      3.8.5
[  ] rabbitmq_auth_mechanism_ssl       3.8.5
[  ] rabbitmq_consistent_hash_exchange 3.8.5
[  ] rabbitmq_event_exchange           3.8.5
[  ] rabbitmq_federation               3.8.5
[  ] rabbitmq_federation_management    3.8.5
[  ] rabbitmq_jms_topic_exchange       3.8.5
[  ] rabbitmq_management               3.8.5
[  ] rabbitmq_management_agent         3.8.5
[  ] rabbitmq_mqtt                     3.8.5
[  ] rabbitmq_peer_discovery_aws       3.8.5
[  ] rabbitmq_peer_discovery_common    3.8.5
[  ] rabbitmq_peer_discovery_consul    3.8.5
[  ] rabbitmq_peer_discovery_etcd      3.8.5
[  ] rabbitmq_peer_discovery_k8s       3.8.5
[  ] rabbitmq_prometheus               3.8.5
[  ] rabbitmq_random_exchange          3.8.5
[  ] rabbitmq_recent_history_exchange  3.8.5
[  ] rabbitmq_sharding                 3.8.5
[  ] rabbitmq_shovel                   3.8.5
[  ] rabbitmq_shovel_management        3.8.5
[  ] rabbitmq_stomp                    3.8.5
[  ] rabbitmq_top                      3.8.5
[  ] rabbitmq_tracing                  3.8.5
[  ] rabbitmq_trust_store              3.8.5
[  ] rabbitmq_web_dispatch             3.8.5
[  ] rabbitmq_web_mqtt                 3.8.5
[  ] rabbitmq_web_mqtt_examples        3.8.5
[  ] rabbitmq_web_stomp                3.8.5
[  ] rabbitmq_web_stomp_examples       3.8.5

重置所有数据

[root@mes01 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@mes01 ...
[root@mes01 ~]# rabbitmqctl reset
Resetting node rabbit@mes01 ...
[root@mes01 ~]# 

3.3 用户权限管理命令

# 查看所有用户
rabbitmqctl list_users

# 添加用户
rabbitmqctl add_user username password

# 修改用户密码
rabbitmqctl change_password username password

# 删除用户
rabbitmqctl delete_user username

# 设置用户权限
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*"

# 列表用户权限
rabbitmqctl list_user_permissions username

# 清除用户权限
rabbitmqctl clear_permissions -p vhostspath username

# 给用户设置标签
rabbitmqctl set_user_tags username tag

# 创建虚拟主机
rabbitmqctl add_vhost vhostpath

# 列表所有虚拟主机
rabbitmqctl list_vhosts

# 列表所有虚拟主机的权限
rabbitmqctl list_permissions -p vhostpath

# 删除虚拟主机
rabbitmqctl delete_vhosts vhostspath

样例

列出所有用户-rabbitmqctl list_users

[root@mes01 ~]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]
root    [administrator]

添加用户

[root@mes01 ~]# rabbitmqctl add_user test 123456
Adding user "test" ...
[root@mes01 ~]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]
test    []
root    [administrator]
[root@mes01 ~]# 

修改用户密码

root@mes01 ~]# rabbitmqctl change_password test 654321
Changing password for user "test" ...

设置并查看权限

[root@mes01 ~]# rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
Setting permissions for user "test" in vhost "/" ...
[root@mes01 ~]# rabbitmqctl list_user_permissions test
Listing permissions for user "test" ...
vhost   configure       write   read
/       .*      .*      .*

设置用户标签并查看

root@mes01 ~]# rabbitmqctl set_user_tags test management
Setting tags for user "test" to [management] ...
[root@mes01 ~]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]
test    [management]
root    [administrator]

清除并查看权限

[root@mes01 ~]# rabbitmqctl clear_permissions -p / test
Clearing permissions for user "test" in vhost "/" ...
[root@mes01 ~]# rabbitmqctl list_user_permissions test
Listing permissions for user "test" ...
[root@mes01 ~]# 

删除用户

[root@mes01 ~]# rabbitmqctl delete_user test
Deleting user "test" ...
[root@mes01 ~]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]
root    [administrator]

创建虚拟主机并查看

[root@mes01 ~]# rabbitmqctl add_vhost /test
Adding vhost "/test" ...
[root@mes01 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
name
/test
/
[root@mes01 ~]# 

列出虚拟主机的权限

[root@mes01 ~]# rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user    configure       write   read
root    .*      .*      .*
test    .*      .*      .*
guest   .*      .*      .*

删除虚拟主机并查看

[root@mes01 ~]# rabbitmqctl delete_vhost /test
Deleting vhost "/test" ...
[root@mes01 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
name
/
[root@mes01 ~]# 

查看交换器

[root@os ~]# rabbitmqctl list_exchanges
Listing exchanges for vhost / ...
name    type
amq.fanout      fanout
amq.rabbitmq.trace      topic
amq.headers     headers
amq.topic       topic
ex.biz  direct
amq.direct      direct
        direct
amq.match       headers
ex.wk   direct
[root@os ~]# rabbitmqctl list_exchanges --formatter pretty_table
Listing exchanges for vhost / ...
┌────────────────────┬─────────┐
│ name               │ type    │
├────────────────────┼─────────┤
│ amq.fanout         │ fanout  │
├────────────────────┼─────────┤
│ amq.rabbitmq.trace │ topic   │
├────────────────────┼─────────┤
│ amq.headers        │ headers │
├────────────────────┼─────────┤
│ amq.topic          │ topic   │
├────────────────────┼─────────┤
│ ex.biz             │ direct  │
├────────────────────┼─────────┤
│ amq.direct         │ direct  │
├────────────────────┼─────────┤
│                    │ direct  │
├────────────────────┼─────────┤
│ amq.match          │ headers │
├────────────────────┼─────────┤
│ ex.wk              │ direct  │
└────────────────────┴─────────┘
[root@os ~]# 

查看绑定的列表

[root@os ~]# rabbitmqctl list_bindings
Listing bindings for vhost /...
source_name     source_kind     destination_name        destination_kind        routing_key     arguments
        exchange        qu.wk   queue   qu.wk   []
ex.wk   exchange        qu.wk   queue   rk.wq   []
[root@os ~]# rabbitmqctl list_bindings --formatter pretty_table
Listing bindings for vhost /...
┌─────────────┬─────────────┬──────────────────┬──────────────────┬─────────────┬───────────┐
│ source_name │ source_kind │ destination_name │ destination_kind │ routing_key │ arguments │
├─────────────┼─────────────┼──────────────────┼──────────────────┼─────────────┼───────────┤
│             │ exchange    │ qu.wk            │ queue            │ qu.wk       │           │
├─────────────┼─────────────┼──────────────────┼──────────────────┼─────────────┼───────────┤
│ ex.wk       │ exchange    │ qu.wk            │ queue            │ rk.wq       │           │
└─────────────┴─────────────┴──────────────────┴──────────────────┴─────────────┴───────────┘

3.4 交换机队列等详细参数

队列信息

rabbitmqctl list_queues [-p vhost] [[--offline] | [--online] | [--local]] [queueinfoitem ...]
# 返回队列的详细信息。如果 "-p" 标志不存在,那么将返回默认虚拟主机的队列详细信息。"-p" 可以用来覆盖默认vhost。可以使用一下互斥选项之一,通过其状态或者位置过滤显示的队列。
# [--offline] 表示仅仅列出当前不可用的持久队列(更具体地说,他们的主节点不是)
# [--online] 表示列出当前可用的队列(他们的主节点是)
# [--local] 表示仅仅列出那些主程序在当前节点上的队列
# queueinfoitem参数用于指示要包括在结果中的哪些队列信息项。结果中的列顺序将与参数的顺序相匹配。queueinfoitem可以从以下列表中获取任何值:
# name 表示队列的名称
# durable 表示服务器重启之后,队列是否存活
# auto_delete 表示不再使用的队列是否自动被删除
# arguments 表示队列的参数
# policy 表示应用在队列中的策略名称
# pid 表示和队列相关联的Erlang进程的ID
# owner_pid 表示作为队列的排他所有者的连接的Erlang进程的ID,如果队列是非排他,则为空
# exclusive 表示队列是否是排他的,有 owner_pid 返回 True,否则返回 False
# exclusive_consumer_pid 表示排他消费者订阅该队列的频道的Erlang进程的ID,如果没有独家消费者,则为空
# exclusive_consumer_tag 表示订阅该队列的排他消费者的消费tag。如果没有排他消费者,则为空
# messages_ready 表示准备被发送到客户端的消息数量
# messages_unacknowledged 表示已经被发送到客户端但是还没有被确认的消息数量
# messages 表示准备发送和没有被确认的消息数量总和(队列深度)
# messages_ready_ram 表示驻留在 ram 里的 messages_ready 的消息数量
# messages_unacknowledged_ram 表示驻留在 ram 里的 messages_unacknowledged 的消息数量
# messages_ram 表示驻留在 ram 里的消息总数
# messages_persistent 表示队列中持久消息的总数(对于临时队列,总是为0)
# message_bytes 表示在队列中所有消息body的大小,这并不包括消息属性(包括header)或者任何开销
# message_bytes_ready 表示类似于 messge_bytes 但仅仅计算那些将发送到客户端的消息
# message_bytes_unacknowledged 表示类似于 message_bytes 但仅仅计算那些已经发送到客户还没有确认的消息
# message_bytes_ram 表示类似于 message_bytes 但仅仅计算那些驻留在ram中的消息
# message_bytes_persistent 表示类似于 message_bytes 但仅仅计算那些持久消息
# head_message_timestamp 表示队列中第一个消息的时间戳属性(如果存在)。只有处在 paged-in 状态的消息才存在时间戳。
# disk_reads 表示该队列自start起,从磁盘读取消息的次数总和
# disk_writes 表示该队列自start起,被写入磁盘消息的次数总和
# consumers 表示consumer的数量
# consumer_utilisation 表示队列能够立即将消息传递给消费者的时间分数(0.0 ~ 1.0之间),如果消费者受到网络拥塞或者预取计数的限制,该值可能小于1.0
# memory 表示和该队列相关联的Erlang进程消耗的内存字节数,包括stack/heap/内部数据结构
# slave_pids 表示该队列目前的slave的ID号(如果该队列被镜像的话)
# synchronised_slave_pids 表示如果队列被镜像,给出与主队列同步的当前slave的ID号,即可以从主队列接管而不丢失消息的slave的ID
# state 表示队列的状态,一般是 "running"; 如果队列正在同步,也可能是 "{syncing, MsgCount}"; 如果队列所处的节点当前down了,队列显示的状态为 "down"
# 如果没有指定queueinfoitem,那么将显示队列的名称(name)和深度(messages)

交换器信息

rabbitmqctl list_exchanges [-p vhost] [exchangeinfoitem ...]
# 返回交换器的详细信息。如果 "-p" 标志不存在,那么将返回默认虚拟主机的交换器详细信息。"-p" 可以用来覆盖默认vhost。
# exchangeinfoitem参数用于指示要包括在结果中的哪些交换器信息项。结果中的列顺序将与参数的顺序相匹配。exchangeinfoitem可以从以下列表中获取任何值:
# name 表示交换器的名称
# type 表示交换器类型(例如: direct/topic/fanout/headers)
# durable 表示服务器重启之后,交换器是否存活
# auto_delete 表示交换器不再使用时,是否被自动删除
# internal 表示交换器是否是内部的,例如不能被客户端直接发布
# arguments 表示交换器的参数
# policy 表示引用在该交换器上的策略名称
# 如果没有指定任何 exchangeinfoitem,那么该命令将显示交换器的名称(name)和类型(type)

绑定信息

rabbitmqctl list_bindings [-p vhost] [bindinginfoitem ...]
# 返回绑定的详细信息。如果 "-p" 标志不存在,那么将返回默认虚拟主机的绑定详细信息。"-p" 可以用来覆盖默认vhost。
# bindinginfoitem参数用于指示要包括在结果中的哪些绑定信息项。结果中的列顺序将与参数的顺序相匹配。bindinginfoitem可以从以下列表中获取任何值:
# source_name 表示绑定附加到的消息源的名称
# source_kind 表示绑定附加到的消息源的类型,目前通常交换器
# destination_name 表示附加绑定到的消息目的地的名称
# destination_kind 表示附加绑定到的消息目的地的类型
# routing_key 表示绑定的routing key
# arguments 表示绑定的参数
# 如果没有指定任何的 bindinginfoitem ,那么将展示上述所有的参数
# rabbitmqctl list_bindings -p /myvhost exchange_name queue_name
# 上述命令,表示展示在 /myvhost 虚拟主机中的绑定的exchange名称和queue名称

连接信息

rabbitmqctl list_connections [connectioninfoitem ...]
# 返回TCP/IP连接统计信息
# connectioninfoitem 参数用于指示要包括在结果中的哪些连接信息项,结果中的列顺序将与参数的顺序相匹配。connectioninfoitem可以从以下列表中获取任何值:
# pid 表示与该connection相关联的Erlang进程的id号
# name 表示该连接的可读性名称
# port 表示服务端口
# host 表示通过反向DNS获取的服务器主机名,如果反向DNS失败或未启用,则为其IP地址
# peer_port 表示对等端口
# peer_host 表示通过反向DNS获取的对等主机名,如果反向DNS失败或未启用,则为其IP地址
# ssl 表示该连接是否使用SSL保护的bool值
# ssl_protocal 表示SSL协议(例如: tlsv1)
# ssl_key_exchange 表示SSL关键交换器算法(例如: rsa)
# ssl_cipher 表示SSL密码算法(例如: aes_256_cbc)
# ssl_hash 表示SSL哈希函数(例如: sha)
# peer_cert_issuer 表示对等体的SSL证书的颁发者,以RFC4514形式出现
# peer_cert_validity 表示对等体的SSL证书的有效期限
# state 表示连接状态(例如: starting/tuning/opening/running/flow/blocking/blocked/closing/closed)
# channels 表示正在使用连接的通道数量
# protocol 表示正在使用的AMQP的版本号。注意,如果一个客户端需要一个AMQP 0-9 连接,我们将其作为 AMQP 0-9-1
# auth_mechanism 表示使用SASL认证机制,如PLAN
# user 表示和该连接相关联的用户名
# vhost 表示vhost名称
# timeout 表示连接超时/协商心跳间隔,单位为秒
# frame_max 表示最大的frame大小(byte)
# channel_max 表示该连接上通道的最大数量
# client_properties 表示在连接建立期间,有客户端传送的消息属性
# recv_oct 表示接受到的八位字节
# recv_cnt 表示接受到的包
# send_oct 表示发送的八位字节
# send_cnt 表示发送的包
# send_pend 表示发送的队列大小
# connected_at 表示该连接被建立的日期和时间的时间戳格式
# 如果没有指定任何connectioninfoitem,那么将展示:user/peer_host/peer_port/流量控制和内存块状态之后的时间

通道信息

rabbitmqctl list_channels [channelinfoitem ...]
# 返回所有当前的通道的信息,通道即一个执行大多数AMQP命令的逻辑容器。这包括由普通AMQP连接的一部分通道、由各种插件和其他扩展程序创建的通道。
# channelinfoitem 参数用于指示要包括在结果中的哪些连接信息项,结果中的列顺序将与参数的顺序相匹配。channelinfoitem 可以从以下列表中获取任何值:
# pid 表示与该连接相关联的Erlang程序的ID号
# connection 表示与通道所属连接相关联的Erlang进程的ID号
# name 表示通道的可读性名称
# number 表示通道的号码,在连接中唯一表示它
# user 表示和该通道相关联的用户名
# vhost 表示通道操作所在的vhost
# transactional 表示通道是否处于事务模式,返回 true,否则返回 false
# confirm 表示通道是否处于确认模式,返回 true, 否则返回 false
# consumer_count 表示通过通道检索消息的逻辑AMQP消费者数量
# messages_unacknowledged 表示通过通道发送过但还没收到反馈的消息的数量
# messages_uncommitted 表示尚未提交的事务中接受的消息数
# acks_uncommitted 表示尚未提交的事务中接受的确认数
# messages_unconfirmed 表示尚未确认已发布的消息数量。在不处于确认模式中的通道上,该值为0
# prefetch_count 表示新消费者的QoS预取限制,如果没有限制则为0
# global_prefetch_count 表示整个通道的QoS预取限制,如果没有限制则为0
# 如果没有指定任何 channelinfoitem 项,那么将展示 pid/user/consumer_count/messages_unacknowledged

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/101121.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python基础教程】快速找到多个字典中的公共键(key)的方法

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 方法一&#xff1a;for in循环 from random import randint, samplea1 {k: randint(1, 4) for k in abcdefg} a2 {k: randint(1, 4) for k in abc123456…

【OpenCV入门】第七部分——图像的几何变换

文章结构 缩放dsize参数实现缩放fx参数和fy参数实现缩放 翻转仿射变换平移旋转倾斜 透视cmath模块 缩放 通过resize()方法可以随意更改图像的大小比例&#xff1a; dst cv2.resize(src, dsize, fx, fy, interpolation)src&#xff1a; 原始图像dsize&#xff1a; 输出图像的…

代码随想录—力扣算法题:19删除链表的倒数第N个节点.Java版(示例代码与导图详解)

19.删除链表的倒数第N个节点 力扣题目链接 更多内容可点击此处跳转到代码随想录&#xff0c;看原版文件 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 进阶&#xff1a;你能尝试使用一趟扫描实现吗&#xff1f; 示例 1&#xff1…

六、vim编辑器的使用

1、编辑器 (1)编辑器就是一款软件。 (2)作用就是用来编辑文件&#xff0c;譬如编辑文字、编写代码。 (3)Windows中常用的编辑器&#xff0c;有自带的有记事本(notepad)&#xff0c;比较好用的notepad、VSCode等。 (4)Linux中常用的编辑器&#xff0c;自带的最古老的vi&…

UG\NX CAM二次开发 插入工序 UF_OPER_create

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 插入工序 UF_OPER_create 效果: 代码: void MyClass::do_it() {tag_t setup_tag=NULL_TAG;UF_SETUP_ask_setup(&setup_tag);if (setup_tag==NULL_TAG){uc1601("请先初始化加工环境…

通过类定义一个网络

import torch from torch import nnx torch.ones(2,10)class MLP(nn.Module):def __init__(self):super().__init__()self.out nn.Linear(10, 1)def forward(self,x):return self.out(x) 1. 代码解析 如何定义一个类&#xff1f;self 又是什么东西&#xff1f;类是如何继承基…

Doris架构中包含哪些技术?

Doris主要整合了Google Mesa(数据模型)&#xff0c;Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式&#xff0c;编码和压缩)的技术。 为什么要将这三种技术整合? Mesa可以满足我们许多存储需求的需求&#xff0c;但是Mesa本身不提供SQL查询引擎。 Impala是一个…

开发指导—利用CSS动画实现HarmonyOS动效(一)

注&#xff1a;本文内容分享转载自 HarmonyOS Developer 官网文档 一. CSS 语法参考 CSS 是描述 HML 页面结构的样式语言。所有组件均存在系统默认样式&#xff0c;也可在页面 CSS 样式文件中对组件、页面自定义不同的样式。请参考通用样式了解兼容 JS 的类 Web 开发范式支持的…

TCP协议报文

前言 TCP/IP协议簇——打开虚拟世界大门中&#xff0c;已经给大家大致介绍了TCP/IP协议簇的分层。 TCP (Transmission Control Protocol)传输控制协议&#xff0c;在TCP/IP协议簇中&#xff0c;处于传输层。是为了在不可靠的互联网络&#xff08;IP协议&#xff09;中&#x…

蒲公英路由器如何设置远程打印?

现如今&#xff0c;打印机已经是企业日常办公中必不可少的设备&#xff0c;无论何时何地&#xff0c;总有需要用到打印的地方&#xff0c;包括资料文件、统计报表等等。 但若人在外地或分公司&#xff0c;有文件急需通过总部的打印机进行打印时&#xff0c;由于不在同一物理网络…

CSS中你不得不知道的盒子模型

目录 1、CSS的盒子模型1.1 css盒子模型有哪些&#xff1a;1.2 css盒子模型的区别1.3 通过css如何转换css盒子模型 1、CSS的盒子模型 1.1 css盒子模型有哪些&#xff1a; 标准盒子模型、怪异盒子模型&#xff08;IE盒子模型&#xff09; 1.2 css盒子模型的区别 标准盒子模型&a…

【ES系列】(一)简介与安装

首发博客地址 首发博客地址[1] 系列文章地址[2] 教学视频[3] 为什么要学习 ES? 强大的全文搜索和检索功能&#xff1a;Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;使用倒排索引和分布式计算等技术&#xff0c;提供了强大的全文搜索和检索功能。学习 ES 可以掌…

微机原理 || 第2次测试:汇编指令(加减乘除运算,XOR,PUSH,POP,寻址方式,物理地址公式,状态标志位)(测试题+手写解析)

&#xff08;一&#xff09;测试题目&#xff1a; 1.数[X]补1111,1110B&#xff0c;则其真值为 2.在I/O指令中,可用于表示端口地址的寄存器 3. MOV AX,[BXSl]的指令中&#xff0c;源操作数的物理地址应该如何计算 4.执行以下两条指令后&#xff0c;标志寄存器FLAGS的六个状态…

Go 面向对象(匿名字段)

概述 严格意义上说&#xff0c;GO语言中没有类(class)的概念,但是我们可以将结构体比作为类&#xff0c;因为在结构体中可以添加属性&#xff08;成员&#xff09;&#xff0c;方法&#xff08;函数&#xff09;。 面向对象编程的好处比较多&#xff0c;我们先来说一下“继承…

python爬虫-数据解析BeautifulSoup

1、基本简介 BeautifulSoup简称bs4,BeautifulSoup和lxml一样是一个html的解析器&#xff0c;主要功能也是解析和提取数据。 BeautifulSoup和lxml类似&#xff0c;既可以解析本地文件也可以响应服务器文件。 缺点&#xff1a;效率没有lxml的效率高 。 优点&#xff1a;接口设…

stm32之IIC协议

主要通过两个层面来讲&#xff1a;物理层、协议层。 IIC是一个同步半双工串行总线协议。 一、物理层&#xff08;通信模型&#xff09; 1、最早是飞利浦公司开发的这个协议&#xff0c;最早应用到其产品上去。 2、两线制&#xff08;两根信号线&#xff09; 其中SCL为时钟…

vue的第2篇 第一个vue程序

一 环境的搭建 1.1常见前端开发ide 1.2 安装vs.code 1.下载地址&#xff1a;Visual Studio Code - Code Editing. Redefined 2.进行安装 1.2.1 vscode的中文插件安装 1.在搜索框输入“chinese” 2.安装完成重启&#xff0c;如下变成中文 1.2.2 修改工作区的颜色 选中[浅色]…

MySQL8.0.22安装过程记录(个人笔记)

1.点击下载MySQL 2.解压到本地磁盘&#xff08;注意路径中不要有中文&#xff09; 3.在解压目录创建my.ini文件 文件内容为 [mysql] # 设置mysql客户端默认字符集 default-character-setutf8[mysqld] # 设置端口 port 3306 # 设计mysql的安装路径 basedirE:\01.app\05.Tool…

win10安装Docker Desktop,并修改存储目录

安装之前先看看自己电脑c盘剩余容量&#xff0c;如果小于30G&#xff0c;建议先配置下再安装 因为docker 安装时不提供指定安装路径和数据存储路径的选项&#xff0c;且默认是安装在C盘的。C盘比较小的&#xff0c;等docker运行久了&#xff0c;一大堆的东西放在上面容易导致磁…

视频监控人员行为识别算法

视频监控人员行为识别算法通过opencvpython网络模型框架算法&#xff0c;视频监控人员行为识别算法可以识别和判断员工的行为是否符合规范要求&#xff0c;一旦发现不符合规定的行为&#xff0c;视频监控人员行为识别算法将自动发送告警信息。OpenCV的全称是Open Source Comput…