更新时间:2023-05-06 GMT+08:00

使用rabbitmq_tracing插件

操作场景

rabbitmq_tracing插件提供消息追踪功能,它能追踪流入流出RabbitMQ的消息,并对其进行封装,将封装后的消息日志存入相应的trace文件中。

前提条件

已购买实例。

操作步骤

  1. 开启rabbitmq_tracing插件,具体步骤请参考开启实例插件
  2. 登录RabbitMQ WebUI页面
  3. 在顶部导航栏选择“Admin”,进入Admin页面。
  4. 在右侧导航栏选择“Tracing”,进入Tracing页面。

    图1 Admin页面

  5. 在“Add a new trace”区域,输入以下参数,单击“Add trace”,新增一个trace。

    表1 trace参数说明

    参数

    说明

    Name

    自定义trace的名称,用于区分不同的trace。

    Format

    输出消息日志的格式。支持“Text”和“JSON”两种格式,“Text”格式方便阅读,“JSON”格式方便解析。

    Tracer connection username

    指定创建trace的用户名。

    Tracer connection password

    指定创建trace的密码。

    Max payload bytes

    每条消息的最大限制,单位为B。

    假设“Max payload bytes”设置为“10”,当有超过10B的消息经过RabbitMQ流转时就会被载断,例如“trace test payload”会被载断成“trace test”。

    Pattern

    设置匹配的模式。取值示例如下:

    • #:追踪所有进入和离开RabbitMQ的消息
    • publish.#:追踪所有进入RabbitMQ的消息
    • deliver.#:追踪所有离开RabbitMQ的消息
    • publish.delay_exchange:追踪进入指定交换机的信息,delay_exchange为交换机名称,请根据实际情况修改。
    • deliver.delay_queue:追踪离开指定队列的消息,delay_queue为队列名称,请根据实际情况修改。
    图2 新增一个trace

    trace创建成功后,在“All traces”区域,显示已创建的trace列表。

    图3 trace列表

  6. (可选)如果RabbitMQ实例为集群,在“Node”中切换到其他节点,重复5,为其他所有节点创建trace。

    图4 切换节点

  7. 当trace日志文件中存入消息日志后,单击trace日志文件名称,查看日志内容。

    图5 trace日志文件

    “delay_exchange_trace.log”的日志内容如图6所示。

    图6 delay_exchange_trace.log

    “delay_queue_trace.log”的日志内容如图7所示。

    图7 delay_queue_trace.log