问题现象

使用阿里云消息队列Kafka版时,删除Group后,仍然收到消息堆积的告警信息。

可能原因

发生消息堆积告警信息的原因如下:
  • 2.0.0以前的Kafka服务端版本,开源Kafka未提供删除Group和消费位点的OpenAPI,因此删除Group,只是从控制台逻辑删除,并不会实际删除服务端消费位点等信息。堆积告警是根据消息位点判断处理的,因此您还会收到堆积告警。
  • 删除Group后,消费线程未停止或者未发生Rebalance,那么消费线程还可以继续正常消费,因此还会收到堆积告警。

解决方案

删除Group后,如果您不希望继续收到消息堆积的告警信息,请参见以下操作进行处理:
  • 确认服务端版本,请根据服务端版本情况执行以下操作:
    • 2.2.0及以上版本直接删除Group,即可删除消费位点。

      如果删除Group后,告警信息仍然存在,可能是因为虽然删除了Group,但是客户端代码还在往该Group提交位点信息。请先确保停止往该Group提交位点,然后重新创建同名Group,再删除创建的同名Group。如果删除Group后,依然收到告警信息,请联系消息队列Kafka版技术人员协助排查。

    • 2.2.0以前的版本,请根据情况选择如下一种方式操作:
      • 确保Group存在的情况下,通过控制台按分区重置位点方式将各分区的消费位点重置到0。具体操作,请参见重置消费位点
      • 将服务端版本升级至2.2.0或以上版本,重新创建Group,再删除。关于如何升级服务端版本,请参见升级实例版本
      • 等待位点过期(过期时间为消费位点保留时间)。消息队列Kafka版的消费位点保存在一个内部Topic中,无法直接删除。位点在超过消费位点保留期限后,如果没有任何更新,就会被过期清理。消费位点保留时间的配置方法,请参见变更消息配置
        说明 只要Group内有任一存活的消费者线程,即使该Group下的消费位点超过了消费位点保留时间,消费位点不会被删除。更多信息,请参见为什么消费位点过期了却仍未被删除?
  • 如果以上方法无法解决您的问题,您可以禁用消息堆积的监控告警。关于如何禁用消息堆积的告警规则,请参见监控报警