操作场景
如果消息收发异常或有遗漏等问题,您可以使用 TDMQ RabbitMQ 版控制台的消息查询功能,便于及时分析和定位问题。
本文指导您通过 TDMQ RabbitMQ 版控制台查询消息。
前提条件
需要进行消息查询的 Vhost 已打开 Trace 插件 开关。
![](https://qcloudimg.tencent-cloud.cn/image/document/b04e9160f415ae990a30f420585ed528.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b04e9160f415ae990a30f420585ed528.png)
使用限制
消息查询的实现原理概述:上一步打开 VHost 的 Trace 插件后,服务组件会消费对应 RabbitMQ 集群的轨迹消息,通过一系列处理后可实现控制台查询消息轨迹的功能。
由上述原理,消息轨迹依赖于服务组件消费轨迹消息,由于服务组件为底层公共服务,无法保证大流量的 RabbitMQ 集群的轨迹消息可以被及时消费;如轨迹消息堆积,会造成集群内存负载高等问题,影响 RabbitMQ 集群稳定性。
因此,不建议在生产环境尤其整体集群(包括所有 VHost)发送 TPS 超过 10000 的场景下开启 Trace 插件,Trace 插件建议使用在小流量验证/排查场景。
操作步骤
1. 登录 RabbitMQ 控制台。
2. 在左侧导航栏选择 消息查询,选择好地域和需要查询的时间范围。
3. 选择需要查询的集群、Vhost 和 Queue,可以填写 Routing Key、用户、消息的 headers 和 body,进一步缩小查询范围。
4. 单击查询,下方列表会展示查询到的所有结果。
![](https://qcloudimg.tencent-cloud.cn/image/document/06a182194ee9be05fccd704bf54de261.png)
注意:
为了保障集群的稳定性,控制台限制了消息查询的数量和维度。用户可以查询特定队列下的消息,最多返回 10000 条结果,这些结果是基于队列和 Routing Key(可以不增加 Routing Key 筛选条件)筛选得到的。用户还可以添加用户、headers 和 body 筛选条件进行进一步查询,但查询会在上述最多 10000 条消息的结果中进行。因此,建议在小流量验证/排查场景下使用消息查询功能。
5. 找到您希望查看内容或详细信息的消息,单击操作列的查看消息详情,即可查看消息的详细信息以及内容(消息体)。
![](https://qcloudimg.tencent-cloud.cn/image/document/37d9bc3373344a81ce6364a7abd51304.png)