rabbitmq trace 日志的使用以及其疑惑之处

  RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。

  不过MQ有个rabbitmq_tracing插件,安装该插件后在控制台的管理tab页,就可以看到多了一个trace的菜单。

  trace文件位于/var/tmp/rabbitmq-tracing/all.log。

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

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

  但是要抓某个队列的发布或者消费测试了很多遍,总觉得这个pattern很模糊。晚上又仔细查看了插件的官网,找到如下:

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走。

https://www.rabbitmq.com/firehose.html

posted @   zhjh256  阅读(1369)  评论(3编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示