消息查询

最近更新时间:2025-03-25 17:50:53

我的收藏

操作场景

如果消息收发异常或有遗漏等问题,您可以使用 TDMQ RabbitMQ 版控制台的消息查询功能,便于及时分析和定位问题。
本文指导您通过 TDMQ RabbitMQ 版控制台查询消息。

前提条件

需要进行消息查询的 Vhost 已打开 Trace 插件 开关。


实现原理概述

在打开 Vhost 的 Trace 插件后,服务组件会消费对应 RabbitMQ 集群的轨迹消息,通过处理后可实现控制台查询消息轨迹的功能。

使用限制

消息轨迹依赖于服务组件消费轨迹消息,又因为服务组件为底层公共服务,无法保证大流量的 RabbitMQ 集群的轨迹消息可以被及时消费。如果轨迹消息堆积,会造成集群内存负载高等问题,从而影响 RabbitMQ 集群稳定性。
因此,不建议在生产环境尤其在整体集群(包括所有 Vhost)发送 TPS 超过 10000 的场景下开启 Trace 插件,Trace 插件建议使用在小流量验证/排查场景。
注意:
消息查询仅支持查询大小为 512KB 以下的消息。
不同的查询方式以及限制如下表所示,建议使用推荐的查询方式,能够查询到更准确的结果。
查询方式
示例
限制
仅按时间范围 + 队列查询

在选择的队列及时间范围内,按入队列的顺序查询到最多1000条消息。
按 Routing Key 查询
(推荐)

在选择的队列及时间范围内,按 Routing Key 查询最多1000条消息。
按 Routing Key,以及 用户/headers/body 查询

在选择的队列及时间范围内,按 Routing Key 查询到最多1000条消息,再根据 用户 / headers / body 进行筛选,最终查询到的消息总数将小于等于1000条。
仅根据时间范围 + 队列,不填 Routing Key,并筛选 用户/headers/body
(不推荐)

在选择的队列及时间范围内,按入队列的顺序查询到最多1000条消息,再根据 用户 / headers / body 进行筛选,最终查询到的消息总数将小于等于1000条。

操作步骤

2. 在左侧导航栏选择 消息查询,选择好地域和需要查询的时间范围。
3. 选择需要查询的集群、Vhost 和 Queue,可以填写 Routing Key、用户、消息的 headers 和 body,进一步缩小查询范围。
4. 单击查询,下方列表会展示查询到的所有结果。

注意:
为了保障集群的稳定性,控制台限制了消息查询的数量和维度。用户可以查询特定队列下的消息,最多返回 1000 条结果,这些结果是基于队列和 Routing Key(可以不增加 Routing Key 筛选条件)筛选得到的。用户还可以添加用户、headers 和 body 筛选条件进行进一步查询,但筛选会在上述最多 1000 条消息的结果中进行。因此,建议在小流量验证/排查场景下使用消息查询功能。
5. 找到您希望查看内容或详细信息的消息,单击操作列的查看消息详情,即可查看消息的详细信息以及内容(消息体)。