查看rabbitmq日志,Rabbitmq Trace日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 查看rabbitmq日志,Rabbitmq Trace日志

在使用rabbitmq时,我们有时需要查看消息队列生产/消费了那些消息,便于我们排错。rabbitmq中提供一个插件rabbitmq_tracing用于记录消息的日志,默认是未打开的,需要自己用命令打开

docker exec -it rabbitmq1 bash
# 查看打开的插件 
rabbitmq-plugins list
# 启动日志插件
rabbitmq-plugins enable rabbitmq_tracing
# 开启rabbitmq的tracing插件
rabbitmqctl trace_on
# 如果添加到其他虚拟主机 
# -p 参数前缀 加上你的虚拟主机名字
rabbitmqctl trace_on -p myhost
  • 关闭trace功能
# 关闭trace功能
rabbitmqctl trace_off
# 关闭其他虚拟主机
rabbitmqctl trace_off -p myhost
  • 停止tracing
rabbitmq-plugins disable rabbitmq_tracing

安装该插件后在控制台的管理tab页,在Admin中会发现右侧有多了一个Tracing选项

  • name:用于区分不同的track
  • Format:表示输出的消息日志格式,有Text和JSON两种,Text格式的日志方便人类阅读,JSON的方便程序解析
  • Pattern:用来设置匹配的模式,和Firehose的类似。如“#”匹配所有消息流入流出的记录;“publish.#”匹配所有消息流入的情况;“deliver.#”匹配所有消息流出的情况。

其中,最重要的是理解pattern的格式。一般来跟踪消息时会涉及到两个部分:有没有发布到MQ,有没有发出去。其抓包记录的格式如下:

publish是到exhange的时间;recevied是到queue的时候,并不是推送到消费者的时间,如果消费慢,那么积压是必然的,可能会很久后才被处理,这个只能在消费端跟踪。

官网

The firehose publishes messages to the topic exchange amq.rabbitmq.trace with
routing key either "publish.exchangename", for messages entering the broker, or "deliver.queuename", for messages leaving the broker;

也就是抓publish跟着exchangename走,抓消费跟着queuename走。


相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
8月前
|
消息中间件 存储 Shell
Docker部署RabbitMQ配置日志映射本地文件
Docker部署RabbitMQ配置日志映射本地文件
232 0
|
8月前
|
消息中间件 RocketMQ
rocketMq错误日志所在位置
rocketMq错误日志所在位置
127 0
|
15天前
|
消息中间件 开发工具 RocketMQ
消息队列 MQ产品使用合集之如何关闭客户端的日志记录
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 Java RocketMQ
修改rocketmq的日志文件位置
修改rocketmq的日志文件位置
83 0
修改rocketmq的日志文件位置
|
2月前
|
消息中间件 存储 数据库
RocketMQ如何实现日志收集
RocketMQ如何实现日志收集
157 0
|
9月前
|
Java 程序员
【日志级别】log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL)
【日志级别】log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL)
750 0
|
12月前
|
消息中间件 存储 缓存
MQ 学习日志(五) 如何保证消息的幂等性
如何保证消息的幂等性 简述
86 0
MQ 学习日志(五) 如何保证消息的幂等性
|
12月前
|
消息中间件 大数据 Kafka
MQ 学习日志(二) 为什么使用消息队列,mq有什么优点和缺点
为什么使用消息队列,mq有什么优点和缺点
106 0
MQ 学习日志(二) 为什么使用消息队列,mq有什么优点和缺点
|
11月前
|
监控 数据可视化 安全
Baumer工业相机堡盟相机如何使用Trace功能(相机日志追踪的使用和优点以及行业应用)(C++)
Baumer工业相机堡盟相机如何使用Trace功能(相机日志追踪的使用和优点以及行业应用)(C++)
82 0
|
12月前
|
消息中间件 存储 中间件
MQ 学习日志(九) MQ 中间件的设计思路
如果让你开发一个消息队列中间件,你会怎么设计架构
87 0