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

news2024/11/24 9:51:37

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Docker】Docker的数据管理

目录 一、Docker 的数据管理1.1数据卷1.2 数据卷容器1.3端口映射1.4容器互联(使用centos镜像) 二、Docker镜像的创建2.1基于现有镜像创建2.2.基于本地模板创建2.3 基于Dockerfile 创建联合文件系统(UnionFS)镜像加载原…

【云原生】Docker网络及Cgroup资源控制

一、Docker网络 1.docker网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。…

【Linux网络】 网络套接字(二)socket编程_UDP网络程序

目录 socket 编程接口socket 常见的APIsockaddr结构 UDP网络程序简单例子服务端代码编写服务端创建套接字服务端绑定运行服务器测试启动服务端 客户端代码编写客户端创建套接字启动客户端本地测试INADDR_ANY服务端接收信息发回到客户端如何进行网络测试 socket 编程接口 socke…

【机器学习】吃瓜教程 | 西瓜书 + 南瓜书 (1)

文章目录 一、绪论1、什么是机器学习?2、基本术语3、假设空间4、归纳偏好5、发展历程 二、模型评估与选择A、一种训练集一种算法2.1 经验误差 与 过拟合2.2 评估方法a) 留出法b) 交叉验证法c) 自助法d) 调参与最终模型 2.3 性能度量a) 错误率与精度b) 查准率、查全率…

RT-Thread快速入门-内核移植

1RT-Thread快速入门-内核移植 RT-Thread 快速入门系列前面的文章介绍了内核相关的知识,以及内核提供的接口函数和如何使用。 本篇文章主要介绍如何将 RT-Thread 内核移植到某个硬件平台之上。移植分为两部分: CPU 架构移植 BSP 移植 也就是将 RT-Th…

MySQL第二课表的增删插改

💛 后端进行的表的操作增删查改 现在是建了一个成绩表,注意哈。 decimal(2,1). 2是M表示有两个有效数字长度,1是D的长度,即小数点后有一位(10分制) 💓开始 1.增加: insert into 表名 values(值&#xff0…

安装VS Code 和 MiKTeX开发环境

下载: Getting MiKTeX 然后以管理员方式运行安装。 配置VS Code 之后配置VS Code,选择扩展(两个位置都可以),然后搜索Latex: 然后打开设置: 这样就打开了setting.json文件, 然后…

SQL注入之Oracle环境搭建

SQL注入之Oracle环境搭建 前言 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性…

gitlab上传新项目全过程

gitlab上传新项目全过程 一、前期准备1.1 gitlab配置1.2 gitlab安装1.3 需要在gitlab上新建一个空项目 二、本地操作2.1 gitlab上传新项目全过程2.2 gitlab将远程项目拉取到本地全过程 三、常见问题及解决四、常用命令4.1 代码更新提交命令4.2 其他指令 一、前期准备 1.1 gitl…

less中引入自定义字体文件

前言 一般做后台管理系统UI没有影响要求可以不使用自定义字体。但是在大屏项目中,高度自定义化,就肯定需要UI导出字体文件,然后放到服务器上或者是我们项目文件中,我们前端引入后在页面中使用。 下面以放在项目文件中为例。 各…

【linux】五种IO模型与非阻塞IO

文章目录 一、IO的概念二、IO的五种模型2.1 概念2.2 对比五种IO 三、非阻塞IO3.1 fcntl文件描述符控制3.2 以非阻塞轮询方式读取标准输入 一、IO的概念 前面我们说过其实IO就是拷贝数据。 先说一下读取的接口: 当系统调用read/recv的时候会有两种情况 ①没有数据&a…

【C语言】指针进阶(3)

目录 指针和数组笔试题解析 一维数组 字符数组 二维数组 指针笔试题 在前面两篇文章,我们已经学完了指针进阶的所有知识点。在这篇文章中,我们主要学习的是一些常见的笔试题的总结。 指针和数组笔试题解析 在做题之前,我们先复习一下之…

第三讲:k8s核心概念和专业术语

序言:这里只对概念继续基础阐述,不做具体案例,这位博主写的特别详细,想要对k8s深入的了解可以跳转了,作为小白的我看的有点懵,毕竟没实践过 链接地址→ http://t.csdn.cn/ZYtEF 这篇文章写了将近两万字对各…

mybatis-plus 缓存深入实践(二)

mybatis-plus 缓存(一)回顾、缓存(二)深入实践

3D测量之圆柱轴线直线度测量

视频演示效果 圆柱轴线直线度测量 零、效果图 一、目标 测量圆柱轴线的直线度误差; 二、测量方法–轴截面法[1] 本文主要是通过最小二乘法确定各截面中心坐标值。由各截面测得的实际中心构成测得中心线。按误差评定方法进行数据处理,求出轴线的直线度误…

启动es容器错误

说明:启动es容器,刚启动就停止,查看日志,出现以下错误信息(java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 8.8.2 but version 7.12.1 is running) 解决&…

【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码及数据 💥1 概述 基于UKF和AUKF的电力系统负荷存在突变时的三相状态估计研究是一种利用无迹卡尔曼滤波(Unscented Kalman Filter, UKF&#xff09…

学习Dart语言---2023-07-23

环境搭建---windows Dart for WindowsDart installer for Windows. Installs the latest Dart SDK and Dartium.https://gekorm.com/dart-windows/选择标准版,下载安装,一直next 验证安装成功: IDEA中配置dart SDK 下载dart插件 创建dart文…

用Python脚本自动采集金融网站当天发布的免费报告

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 其间旦暮闻何物?杜鹃啼血猿哀鸣。 大家好,我是皮皮。 一、前言 前几天在Python群【林生】问了一个Python数据采集的问题&#x…

PCL点云处理之最小二乘直线拟合(2D| 方法2)(❤亲测可用❤)(二百零一)

PCL点云处理之最小二乘直线拟合(2D| 方法2)(❤亲测可用❤)(二百零一) 一、算法简介二、算法实现1.代码2.结果一、算法简介 在二百章中,我们介绍了一种最小二乘拟合直线点云(2D)的方法,可以获取直线方程系数k,b,这里介绍另一种拟合直线点云的方法,更为简单方便,结果…