全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

Kafka 资源管控

更新时间:2018-01-11 10:55:57

Kafka 资源管控

云上消息最多存储3天。您无需关心副本机制,云上有自研的高可用方案。

在接入云上 Kafka,发送消息,消费消息之后,您需要查看消息的运行状况。本文将具体说明如何查看消息运行情况以及相应的管控操作。

注意:Kafka 目前的资源管控功能集成在MQ 控制台中,除了本文介绍的,其它功能可能只供 MQ 使用,Kafka 暂时用不了。Kafka 自有控制台正在开发中,敬请期待。

查询消息

您可以根据 Topic 来查询具体的消息,步骤如下:

  1. 在 MQ 控制台点击消息查询-Topic 查询
  2. 在搜索框中输入 topic 名称, 然后点击搜索
  3. 在消息搜索结果的列表中,点击相应消息的消息详情按钮,查看该消息的详细信息。

消息查询这个在调试 Demo 时非常有用。

查询消息量及 TPS

当应用已经部署运行,您可以通过查看消息的发送量以及 TPS 来了解应用的运行状况,具体操作步骤如下:

  1. 在 MQ 控制台点击资源报表-消息生产
  2. 在 Topic 搜索框中输入您想要查询的 topic, 然后点击搜索按钮。

消息量及 TPS 查询

注意:目前 Kafka 还不支持通过 Consumer ID 查询消费 TPS。功能开发中,敬请期待。

查询消息堆积等消费状态

随时关注消费进度十分重要,它有助于您了解应用消费端是否正常运行。具体操作步骤如下:

  1. 在 MQ 控制台点击消费管理
  2. 在搜索框中输入 Consumer ID, 然后点击搜索
  3. 在消息搜索结果的列表中,点击相应消息的消息者状态按钮,查看该消息的详细消费状态,包括堆积总量信息。

消息堆积和消费者状态查询目前有用的信息是三个:堆积总量,最近消费时间,消费延迟时间;其它信息(是否在线、连接状态等)暂时对 Kafka 无用。

  • 堆积总量:消息的总条数 - 已经消费的消息条数
  • 最近消费时间:取最近消费的消息,取出它的存储时间;在所有分区中取最近;
  • 消费延迟时间:取最近消费的消息,取出它的存储时间,用当前时间减去这个时间;在所有分区中取延迟最大的。

堆积总量是一个关键指标,其它指标是一个估计值,仅供参考。如果发现堆积总量较大,则应用消费端可能产生了阻塞或者是消费速度跟不上生产速度,此时需要分析消费端的运行状况,尽力提升消费速度。

注意:目前只支持显示堆积总量,后续您会看到各个分区的堆积量,敬请期待。堆积报警暂时不适用于 Kafka,功能开发中,敬请期待。

重置消费位点

如果由于某些原因,比如清除累计的消息,或者需要再次消费过去一段时间的消息,可以选择重置消费位点;需要注意的是,这个功能支持将某个 Consumer ID 的位点重置到过去的某个时间点(假设为 t,这个时间点以所订阅的 Topic 的存储时间为准),重置过后,t 时间点之后的消息都会被再次消费。

具体操作步骤如下:

  1. 停止所有 Consumer 客户端,Kafka 不支持在线重置消费位点;
  2. 在 MQ 控制台点击发布订阅管理 > 订阅管理
  3. 在搜索框中输入 Consumer ID, 然后点击搜索
  4. 在消息搜索结果的列表中,点击相应消息的重置位点按钮
  5. 弹出框里选择清除累积消息或者选择时间点进行重置。

删除 Topic

Topic 删除需注意以下两点:

  • 已上线应用,请勿操作 Topic 删除,否则会造成消息丢失;
  • Topic 删除后,再次创建同样的 Topic,有可能会导致异常位点提交(提交的位点大于消息的最大位点),从而堆积显示为负数;Kafka 团队后续会对这个问题进行优化,如果目前遇到这个问题,可以选择重置消费位点,或者提交工单,联系技术支持进行处理;
本文导读目录