我的RabbitMQ是安装在docker里面的 所以我以下的方法都是根据这个路径去操作的
如果RabbitMQ安装在其他地方 请自行百度
1. 显示正在运行的RabbitMQ容器的名称或ID:
docker ps
这将启动所有正在运行的 Docker 容器,并包含 RabbitMQ 容器的信息。
- 使用
docker exec
命令来运行rabbitmq-plugins list
命令:
假设RabbitMQ容器的名称或ID为mq
,则命令如下:
docker exec mq rabbitmq-plugins list
这将在RabbitMQ容器内部执行rabbitmq-plugins list
命令,并显示已安装的插件列表。
请注意,这种方法适用于在主机上查看 RabbitMQ 容器内的插件列表。如果您想要执行其他 RabbitMQ 管理操作,也可以使用命令来在容器内运行相应的命令docker exec
。
以下是对这个表的一个解释
Based on the output you provided, it seems that you have RabbitMQ installed in a Docker container with various plugins enabled and running. Here's a breakdown of the output:
- `[E*] rabbitmq_management` and `[e*] rabbitmq_management_agent`: These plugins are enabled and running, and they provide the RabbitMQ Management UI, which allows you to interact with and manage RabbitMQ through a web-based interface.
- `[ ] rabbitmq_amqp1_0`: This plugin is installed but not enabled. It adds support for the AMQP 1.0 protocol.
- `[ ] rabbitmq_auth_backend_cache`, `[ ] rabbitmq_auth_backend_http`, `[ ] rabbitmq_auth_backend_ldap`, and `[ ] rabbitmq_auth_backend_oauth2`: These plugins provide different authentication backends for RabbitMQ.
- `[ ] rabbitmq_consistent_hash_exchange`, `[ ] rabbitmq_event_exchange`, `[ ] rabbitmq_federation`, and `[ ] rabbitmq_federation_management`: These plugins offer various exchange types and federation capabilities.
- `[ ] rabbitmq_jms_topic_exchange`: This plugin adds support for the JMS topic exchange type.
- `[ ] rabbitmq_mqtt`: This plugin provides support for MQTT.
- `[ ] rabbitmq_peer_discovery_aws`, `[ ] rabbitmq_peer_discovery_common`, `[ ] rabbitmq_peer_discovery_consul`, `[ ] rabbitmq_peer_discovery_etcd`, and `[ ] rabbitmq_peer_discovery_k8s`: These plugins offer different peer discovery mechanisms for RabbitMQ clustering.
- `[ ] rabbitmq_prometheus`: This plugin enables metrics and monitoring through Prometheus.
- `[ ] rabbitmq_random_exchange` and `[ ] rabbitmq_recent_history_exchange`: These plugins provide additional exchange types.
- `[ ] rabbitmq_sharding`, `[ ] rabbitmq_shovel`, and `[ ] rabbitmq_shovel_management`: These plugins are related to sharding and data shovel functionality.
- `[ ] rabbitmq_stomp`: This plugin adds support for STOMP.
- `[ ] rabbitmq_top`: This plugin adds support for a top-like tool for RabbitMQ.
- `[ ] rabbitmq_tracing`: This plugin enables message tracing in RabbitMQ.
- `[ ] rabbitmq_trust_store`: This plugin handles trust stores for TLS connections.
- `[e*] rabbitmq_web_dispatch`: This plugin is enabled and provides the Web Dispatcher.
- `[ ] rabbitmq_web_mqtt` and `[ ] rabbitmq_web_mqtt_examples`: These plugins are related to MQTT over WebSockets.
- `[ ] rabbitmq_web_stomp` and `[ ] rabbitmq_web_stomp_examples`: These plugins provide Web STOMP functionality.
The plugins marked with `E*` or `e*` are the ones currently running in the RabbitMQ instance.
Overall, this shows that RabbitMQ is installed with a variety of plugins, and the management plugin, which provides the web interface, is enabled for you to interact with and manage RabbitMQ.
显然 我们没有安装trace插件 接下去 我们来安装一下trace插件
docker exec -it mq /bin/bash
请注意,mq
应该是您RabbitMQ容器的名称,如果不是,请将其替换为正确的名称。
启用 "rabbitmq_tracing" 插件:
rabbitmq-plugins enable rabbitmq_tracing
确认插件是否已启用:
rabbitmq-plugins list
能够看到 "rabbitmq_tracing" 插件现在被标记为 [E*]
,表示它已经启用且正在运行。
请注意,启用该插件后,可以使用RabbitMQ的追踪功能来监视和追踪消息的流动。要详细了解如何使用 "rabbitmq_tracing" 插件来配置消息追踪以及如何查看追踪数据,可以参考RabbitMQ官方文档中关于该插件的使用说明和示例。
如果安装成功 在右侧会添加Tracing模块
可以用二种方法来添加模块
第一种 用linux
如何在RabbitMQ中添加新的消息追踪(Trace)。
在RabbitMQ中,使用 "rabbitmq_tracing" 插件,您可以创建和管理跟踪,以捕获消息的传入和传出以及其他相关事件。下面是添加新跟踪的一般步骤:
1. 确保 "rabbitmq_tracing" 插件已启用:
使用以下命令检查插件是否已启用,并确保其状态为 `[E*]`:
```bash
rabbitmq-plugins list
```2. 创建新的跟踪:
使用以下命令创建一个新的跟踪:
```bash
rabbitmqctl trace_on
```该命令将启动一个名为 "trace-xxxx" 的新跟踪,其中 "xxxx" 是一个唯一的标识符。跟踪默认情况下会捕获所有传入和传出的消息。
3. 可选:为跟踪定义过滤条件:
如果您只希望跟踪特定队列、交换器或其他条件下的消息,您可以使用参数来定义过滤条件。例如,如果要跟踪特定队列的消息,可以使用以下命令:
```bash
rabbitmqctl trace_on queue=your_queue_name
```您可以根据需要添加更多的过滤条件,以满足您的跟踪需求。
4. 查看跟踪状态:
使用以下命令查看当前正在运行的跟踪:
```bash
rabbitmqctl trace_status
```这将显示当前跟踪的状态信息,包括跟踪标识符、状态、目标、过滤条件等。
5. 停止跟踪:
当您完成跟踪或不再需要时,可以使用以下命令停止跟踪:
```bash
rabbitmqctl trace_off
```这将停止当前正在运行的跟踪。
请注意,跟踪可能会产生大量的日志数据,因此在使用跟踪功能时,请确保在适当的时间停止跟踪,以避免日志过多导致存储问题。
以上是在RabbitMQ中添加新消息追踪的基本步骤。如果您想进一步了解如何配置和使用 "rabbitmq_tracing" 插件的高级功能,请参阅RabbitMQ官方文档中关于 "rabbitmq_tracing" 的更详细说明。
第二种
RabbitMQ官网的界面添加新跟踪
在RabbitMQ官方的Web管理界面中,您可以通过以下步骤添加新的消息追踪(Trace):
1. 确保 "rabbitmq_tracing" 插件已启用:
在您登录的RabbitMQ管理界面中,导航到 "Admin"(或 "Management")选项卡,然后在 "Plugins" 部分查找 "rabbitmq_tracing" 插件。如果它未启用,请点击 "Enable" 按钮以启用插件。
2. 创建新的跟踪:
- 在 "Admin"(或 "Management")选项卡中,导航到 "Tracing" 子选项卡。
- 在 "Add a new trace" 部分,填写相关信息:
- Name:给跟踪一个名称,例如 "my_trace"。
- Pattern:可选,用于过滤需要追踪的队列或交换器的模式。
- Format:指定跟踪日志的格式,支持 "plain" 和 "json" 两种格式。- 点击 "Add Trace" 按钮来创建新的跟踪。
3. 查看和管理跟踪:
- 在 "Tracing" 子选项卡中,您将看到已创建的跟踪列表,其中会显示每个跟踪的名称、状态、目标、模式和格式等信息。
- 您可以通过 "Start", "Stop", "Delete" 按钮来启动、停止和删除跟踪。
- 点击跟踪名称,您可以查看该跟踪的详细信息,并可以在此界面上直接启动、停止或删除跟踪。
请注意,RabbitMQ的Web管理界面提供了一个简单且直观的方式来管理消息追踪。您可以根据需要添加、启动、停止和删除跟踪,以实现对消息流动的监控和分析。
如果您需要更高级的跟踪配置,或者想通过命令行工具进行更复杂的跟踪设置,可以参考前面提到的使用命令行工具的方法。同时,RabbitMQ的Web管理界面也提供了相应的命令行界面(Command UI),您可以在 "Admin"(或 "Management")选项卡中找到 "Command UI" 子选项卡来执行相应的命令。
- 点击“Admin”菜单,右边会多出一个“Tracing”的菜单,填写Name、Format、Max payload bytes、Pattern
- 然后点击“添加Add trace”即可添加一个日志
尝试发布消息,查看日志
以下图片来自网上大佬的图片 下方有大佬的文章连接
参考文章
如何查看RabbitMQ日志,Rabbitmq Trace日志的使用_Will Wang0715的博客-CSDN博客
【采坑】rabbitmq集群添加trace插件_mq traces_二黑黑黑的博客-CSDN博客