全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息队列 MQ

查询消息轨迹

更新时间:2017-09-20 12:39:42

消息轨迹的使用对于业务方不会增加额外的接入成本,仅仅需要确保客户端 SDK 版本支持该特性。正常收发消息后以消息的相关属性在 MQ 控制台上查询即可。

1. 接入条件

消息轨迹功能目前支持 Java 客户端(1.2.2版本及以上),C++,.NET 以及 HTTP 客户端。详细的客户端信息,请参考控制台给出的升级提示,获取最新的 SDK。

2. 新建轨迹查询

在 MQ 控制台左侧菜单栏选择消息轨迹(现处于公测阶段),选择所在的区域,并单击右上角新建查询按钮。

create-track

消息轨迹查询功能支持三种查询方式,请按照对应方式输入查询条件,新建查询。

  • 根据 Message ID 查询:需要输入消息的唯一 Message ID,Topic 名称以及消息的大致发送时间。
  • 根据 Message Key 查询:需要输入消息的 Message Key 和 Topic 以及大致发送时间,适用于没有记录 MessageID,但记录了 Message Key 的场景。
  • 根据 Topic 查询:仅仅输入 Topic 和时间段,批量查询,适用于没有上述 Message ID 和 Message Key,而且消息量比较小的场景。

注意:

  1. 查询时,尽可能设置最为精确的时间区间,以便缩小查询范围,提高速度。
  2. 根据 MsgID 查询属于精确查询,速度快,精确匹配,推荐用户使用。
  3. 根据 MsgKey 查询属于模糊查询,仅适用于业务方没有记录 MessageID 但是设置了 MessageKey,同时 MessageKey 具有区分度的情况,MessageKey 查询最多查询 1000 条轨迹。
  4. 根据 Topic 分段查询属于范围查询,不推荐使用,因为时间范围内消息很多,不具备区分度。

3. 查询任务管理

新建查询后,会生成一个查询任务,MQ 后台会异步执行,并将任务状态反馈到管理页面,查询结束时,任务状态显示查询完成,否则显示查询中。

track-mgmt

根据任务的状态可以选择查看轨迹,或者删除查询任务。

4. 查看轨迹

完成查询后,单击右侧操作选项里的查看详情按钮查看轨迹。如果发现没有结果,请参考弹窗链接,排查原因。

如果查询到轨迹信息,可以看到轨迹的简要信息,主要是消息本身的属性以及接收状态的统计,如下图所示:

has

5. 查看轨迹链路图

单击查看轨迹按钮即可查看完整的链路图,如图所示:

1

消息链路图包含4个部分:

  1. 生产者信息
  2. Topic 信息
  3. 消费者信息
  4. 详情信息

各个字段区域均可以通过鼠标悬停的方式获取详细信息。对于 MsgKey 和 Topic 查询方式,如果匹配到多条轨迹,可以进行上下翻页,查看比对轨迹数据。

消息轨迹名词解释

消息轨迹查询页面中涉及到的名词概念列表如下。

相关概念 含义(TCP场景) 含义(HTTP场景)
发送时间 记录消息从发送端发送时的客户端时间戳 同TCP
发送耗时 记录发送端调用 send 方法发送消息的毫秒耗时 同TCP
Region 记录消息存储的 Region 信息,或者消费方机器所在的 Region 信息 同TCP
消费耗时 记录消息推送到客户端之后执行 consumeMessage 方法的耗时 从HTTP客户端执行GET拉取消息到执行DELETE操作的时间间隔
投递时间 记录客户端执行 consumeMessage 方法开始消费消息时的时间戳 HTTP客户端执行GET拉取消息的时间戳

消息轨迹状态说明

消息轨迹查询页面中涉及到的状态列表如下。

相关概念 含义(TCP场景) 含义(HTTP场景)
发送成功 消息发送成功,服务端已经存储成功 同TCP
发送失败 消息发送失败,服务端没有存储消息,需要重试 同TCP
消息定时中 该消息是定时或者延时消息,且尚未到达投递时间 同TCP
事务未提交 该消息是事务消息,且尚未提交状态
事务回滚 该消息是事务消息,并且已经回滚
全部成功 该消息所有投递都已成功消费 同TCP
部分成功 该消息投递中存在消费失败并重试成功的情况 同TCP
尚未消费 该消息尚未投递给任何消费方 HTTP客户端尚未拉取消息
消费未返回 消费消息的方法尚未返回,或者被中断,导致本次消费结果未传回服务端 HTTP客户端执行GET拉取消息后,没有调用DELETE方法返回消费结果
消费失败 消费消息的方法主动返回失败标志,或者是消费方法抛异常

如果对消息轨迹的查询结果有疑问,也可以参考相关的 FAQ

本文导读目录