0


查看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*]

     rabbitmq-plugins list
    
  2. 创建新的跟踪:

    使用以下命令创建一个新的跟踪:

     rabbitmqctl trace_on
    

    该命令将启动一个名为 "trace-xxxx" 的新跟踪,其中 "xxxx" 是一个唯一的标识符。跟踪默认情况下会捕获所有传入和传出的消息。

  3. 可选:为跟踪定义过滤条件:

    如果您只希望跟踪特定队列、交换器或其他条件下的消息,您可以使用参数来定义过滤条件。例如,如果要跟踪特定队列的消息,可以使用以下命令:

     rabbitmqctl trace_on queue=your_queue_name
    

    您可以根据需要添加更多的过滤条件,以满足您的跟踪需求。

  4. 查看跟踪状态:

    使用以下命令查看当前正在运行的跟踪:

     rabbitmqctl trace_status
    

    这将显示当前跟踪的状态信息,包括跟踪标识符、状态、目标、过滤条件等。

  5. 停止跟踪:

    当您完成跟踪或不再需要时,可以使用以下命令停止跟踪:

     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博客

标签: rabbitmq 分布式

本文转载自: https://blog.csdn.net/m0_59281987/article/details/131876259
版权归原作者 姜小白程序 所有, 如有侵权,请联系我们删除。

“查看RabbitMQ日志---trace插件的使用”的评论:

还没有评论