操作场景
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参数说明
参数 说明 Virtual host 选择待创建trace的Vhost名称。 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