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

Posted 太白的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于rabbitmq trace 日志的使用以及其疑惑之处的主要内容,如果未能解决你的问题,请参考以下文章

活动倒计时-天时分秒(兼容ios,定时器的使用以及其注意事项)

jquery的closest方法的使用以及其与parents方法之间的差异

【java】-关于String的使用以及其输出结果的问题

RabbitMQ日志开启(trace插件)

RabbitMQ问题汇总

改进单选按钮的使用以启用/禁用表单字段