如遇消息消费有问题,您可通过查询消息排查问题。消息队列Kafka版控制台支持按位点查询和按时间查询。

背景信息

您可根据具体情况按以下推荐方式查询消息:

  • 如果您可通过查询日志来获取消息发送至Topic的分区ID以及消息位点,则推荐您使用按位点查询
  • 如果您不确定消息的位置,但确定消息发送的时间,则推荐您使用按时间查询

注意事项

  • 查询到的每条消息在控制台上最多显示1 KB的内容,超过1 KB的部分将自动截断。如需查看完整的消息内容,请下载相应的消息。

    目前,仅专业版实例支持下载,且下载的消息最大为10 MB。

  • 标准版实例最多查询到256 KB的消息,显示10条消息。
    • 如果10条消息的总大小已经超过256 KB,那么控制台上只显示256 KB以内的内容。
    • 如果10条消息的总大小还不到256 KB,在控制台上最多也只能看到10条消息。在这样的情况下,请以客户端的实际消费为准。
  • 专业版实例最多查询到10 MB的消息,显示30条消息。
    • 如果30条消息的总大小已经超过10 MB,那么控制台上只显示10 MB以内的内容。
    • 如果30条消息的总大小还不到10 MB,在控制台上最多也只能看到30条消息。在这样的情况下,请以客户端的实际消费为准。

    关于实例版本的更多信息,请参见计费说明

  • 能否查询到消息与消息队列Kafka版的消息清除策略相关:
    • 磁盘使用率低于85%,每天凌晨4点集中删除超过消息保留时间的消息。
    • 磁盘使用率达到85%,立即清除超过消息保留时间的消息。
    • 磁盘使用率达到90%,无论消息是否超过消息保留时间,按服务端存储消息的时间先后顺序清除消息。
    注意 消息队列Kafka版在清除消息时,会至少保留一个存储文件。因此,您有可能查询到超过消息保留时间的消息。

按位点查询

消息队列Kafka版中的一个位点指向一条消息,在确定需要查询的消息所在位置的情况下,可以指定位点查询相应的消息。

  1. 登录消息队列Kafka版控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击消息查询
  4. 消息查询页面,选择需查询的实例,然后单击按位点查询页签。
  5. 输入需查询的Topic名称,选择需查询的分区,按提示输入位点,然后单击搜索

    按位点查询页签中展示该查询位点及以后连续的消息。如下图所示,指定的分区和位点都为“5”,那么返回的结果从位点“5”开始。

    querybyoffset
    参数 描述
    分区 消息的Topic分区。
    位点 消息的消费位点。
    TimeStamp 发送消息时,客户端自带的或是您指定的ProducerRecord中的timestamp
    说明
    • 如果配置了该字段,则按配置值显示。
    • 如果未配置该字段,则默认取消息发送时的系统时间。
    • 如果显示值为1970/x/x x:x:x,则说明发送时间配置为0或其他有误的值。
    • 0.9及以前版本的Kafka客户端不支持配置该时间。
  6. 可选:单击操作列下的消息详情
    参数 描述
    Key 消息的键(已强制转化为String类型)。
    Value 消息的值(已强制转化为String类型)。
  7. 可选:单击Key或Value右侧的下载消息
    注意
    • 仅专业版支持下载消息。
    • 下载的消息最大为10 MB。如果消息超过10 MB,则只下载10 MB的内容。

按时间查询

按时间查询允许查询全部分区的消息,不确定消息的位置,但确定消息发送的时间段,请指定该时间段中的某一个时间点查询该时间点附近的消息。

  1. 登录消息队列Kafka版控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击消息查询
  4. 消息查询页面,选择需查询的实例,然后单击按时间查询页签。
  5. 输入需查询的Topic名称,选择需查询的分区,选择需查询的时间点,然后单击搜索
    按时间查询页签即可看到搜索结果。分区的取值会影响搜索显示结果:
    • 如果选择全部,则显示全部分区。querybytimeall
    • 如果指定分区,则显示指定分区。querybytimespecified
    参数 描述
    分区 消息的Topic分区。
    位点 消息的消费位点。
    TimeStamp 发送消息时,客户端自带的或是您指定的ProducerRecord中的timestamp
    说明
    • 如果配置了该字段,则按配置值显示。
    • 如果未配置该字段,则默认取消息发送时的系统时间。
    • 如果显示值为1970/x/x x:x:x,则说明发送时间配置为0或其他有误的值。
    • 0.9及以前版本的Kafka客户端不支持配置该时间。
  6. 可选:单击操作列下的消息详情
    参数 描述
    Key 消息的键(已强制转化为String类型)。
    Value 消息的值(已强制转化为String类型)。
  7. 可选:单击Key或Value右侧的下载消息
    注意
    • 仅专业版支持下载消息。
    • 下载的消息最大为10 MB。如果消息超过10 MB,则只下载10 MB的内容。