RabbitMQ Tracer

在做开发或者debug的时候,如果能看到进入到message broker的消息以及message broker分发的消息的话会很有帮助, rabbitmq 本身提供这样的一个叫做firehose(消防管道)的feature。

除此之外,rabbitmq还有一个叫做rabbitmq_tracing 的插件,可以让程序员通过可视化的方式配置tracer。

1. Enable 这个plugin

rabbitmq-plugins enable rabbitmq_tracing

  检查这个plugin是否被enable了

rabbitmq-plugins list

如果显示如下,说明plugin已经正确的enable了

 2. 配置相应的tracer

当rabbitmq_tracing这个plugin被安装后再rabbitmq management UI界面的admin tab下面会有一个新的选项叫tracing

3. 添加一个tracer。

  - 选择一个virtualhost, 这个virtualhost 必须让用户’guest‘ 有操作的权限。

  - 属于一个name, trace log的名字会和这个名字相同。

  - 选择format, json或者text。

   - 选择一个Pattern, deliver.# 将所有rmq delivered 的消息做备份。 publish.# 将rmq所有收到的数据做备份

   - Playload  limit, 如果一条数据的大小超过这个数字,消息就会被截断。

添加完tracer之后, 会看到对应的queue已经被自动创建:

两个tracer会自动创建两个queue, 因为我们做了ha+2, 所以会有4个queue被创建。

4. 向这个virtualhost里面的任意一个queue发送那个数据, 会看到对应的trace log显示在页面上:

 这个log会默认保存在硬盘上的 /var/tmp/rabbitmq-tracing目录下面。

原文地址:https://www.cnblogs.com/diaolanshan/p/8447986.html