查看RabbitMQ日志---trace插件的使用

我的RabbitMQ是安装在docker里面的  所以我以下的方法都是根据这个路径去操作的

 

如果RabbitMQ安装在其他地方  请自行百度

1. 显示正在运行的RabbitMQ容器的名称或ID:

docker ps

 

这将启动所有正在运行的 Docker 容器,并包含 RabbitMQ 容器的信息。

  1. 使用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博客

  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 48
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值