全部产品
Search
文档中心

:如何使用Prometheus监控Kafka

更新时间:Aug 27, 2026

本文介绍如何使用Prometheus监控阿里云kafka及自建Kafka。

自建Prometheus观测Kafka的痛点

使用自建Prometheus观测Kafka,可能面临的典型问题有以下几点:

  1. 由于安全、组织管理等因素,您的业务通常部署在多个相互隔离的VPC,因此这需要您在多个VPC内都重复、独立部署Prometheus,导致部署和运维成本较高。

  2. 每套完整的自建监控系统都需要安装并配置Prometheus、Grafana、AlertManager等,其过程复杂、实施周期长。

  3. 开源Kafka JMX Agent在某些场景下占用CPU高,对自建Kafka业务有一定干扰。

  4. 对于阿里云消息队列Kafka(简称阿里云Kafka),自建Prometheus无法监控到,导致无法实现一站式、全局视角的监控建设。

  5. 对于部署在ECS上的自建Kafka,自建Prometheus缺少与阿里云ECS快速集成的服务发现(ServiceDiscovery)机制,因此无法根据ECS标签来灵活定义抓取Targets。如果自行实现类似功能,则需要您使用Golang语言开发代码调用阿里云ECS POP接口,以集成开源Prometheus代码,然后通过编译打包后部署,这种方式实现门槛高、过程复杂、且版本升级困难。

  6. 常用开源Grafana大盘无法结合Kafka的原理与最佳实践进行深入定制。

  7. 缺少Kafka告警项模板,需要您自行配置告警规则,导致消耗的工作量较大,且技术实现困难。

自建Prometheus与可观测监控 Prometheus 版对比

Kafka监控场景下,自建Prometheus与可观测监控 Prometheus 版的详细对比如下:

对比项

自建Prometheus

可观测监控 Prometheus 版

部署、维护成本

多个VPC内,需要您自购ECS部署Prometheus、Grafana、AlertManager,运维成本高。

可观测监控 Prometheus 版、Grafana及告警中心的一体化、全托管、免运维、开箱即用。

可用性、性能、数据容量

高可用能力不足、性能低、数据容量规模小。

高可用、高性能、大数据容量。

Exporter性能

开源Kafka JMX Agent在某些场景下占用CPU高,对Kafka业务有一定干扰。

可观测监控 Prometheus 版持续对Kafka JMX Agent进行性能优化,增强其性能和稳定性。

服务发现

ECS环境下,通过开源Static_Configs、三方注册中心等方式采集服务发现,使用不便,且维护成本高

除兼容开源SD外,还内置了aliyun_sd_configs,方便您使用ECS标签进行目标ECS匹配,达到与Kubernetes场景的LabelSelector一致体验,极大简化服务发现的配置和维护复杂度。

Grafana大盘

开源Grafana Kafka大盘通常较单一,大多只是直接展示采集的Metric,缺少结合Kafka原理和最佳实践进行深入优化。

提供Kafka专业大盘模板,方便您快速、精准掌握Kafka全链路运行情况,并定位排查问题

告警规则

缺少Kafka告警指标模板,需要用户自行研究、配置告警规则。

根据Kafka监控实践,提供专业、灵活的告警指标模板,您可以白屏化配置各告警规则。

一站式、全局视角

由于可能存在多套Prometheus,而且自建Prometheus无法监控到阿里云Kafka,因此无法实现一站式、全局视角的监控体系。

全托管的可观测监控 Prometheus 版,同时阿里云Kafka默认集成了可观测监控 Prometheus 版,天然实现了一站式、全局视角的监控体系。

使用Prometheus监控阿里云Kafka

阿里云Kafka目前已默认集成了可观测监控 Prometheus 版,主要监控的指标有:

  • 实例、Group、Topic各级的流量指标。

  • Group和Topic的消息堆积指标。

  • 实例磁盘使用率指标。

  • Group的Rebalance指标。

查看阿里云Kafka监控大盘

阿里云Kafka提供了实例、Group和Topic三个监控大盘。通过这三个大盘,您可以及时清晰地掌握Kafka消息的生产和消费情况,并快速定位使用阿里云Kafka过程中遇到的问题。

阿里云Kafka实例监控大盘

  1. 登录云消息队列 Kafka 版控制台,在左侧导航栏,单击实例列表

  2. 单击目标实例名称,在左侧导航栏单击Prometheus监控,可查看阿里云Kafka实例监控大盘。

    ej

阿里云Kafka消费组监控大盘

  1. 登录云消息队列 Kafka 版控制台,在左侧导航栏,单击实例列表

  2. 单击目标实例名称,在左侧导航栏单击Group管理,然后单击目标Group ID超链接,并单击Prometheus监控页签,可查看阿里云Kafka消费组监控大盘。

    Prometheus监控 面板中,可通过 instanceIdconsumerGrouptopic 过滤器筛选监控数据,查看 消费堆积总量消费堆积量(Topic级别) 折线图。还可单击 开源Grafana面板导入Grafana面板 进行扩展操作。

阿里云Kafka Topic监控大盘

  1. 登录云消息队列 Kafka 版控制台,在左侧导航栏,单击实例列表

  2. 单击目标实例名称,在左侧导航栏单击Topic管理,然后单击目标Topic名称超链接,并单击Prometheus监控页签,可查看阿里云Kafka Topic监控大盘。

    该监控大盘展示 topic消息生产流量(bytes/s)topic消息消费流量(bytes/s)topic消息生产条数(个/秒) 三个指标的折线图,支持通过 topic 下拉列表切换目标 Topic,并可单击 导入Grafana专家版 将大盘导入 Grafana 查看。

使用可观测监控 Prometheus 版配置阿里云Kafka告警

  1. 登录云监控控制台

  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,进入集成中心页面。
  4. 单击已安装区域的消息队列Kafka卡片,并在弹出的面板中单击告警页签,查看阿里云Kafka的Prometheus告警。目前可观测监控 Prometheus 版提供实例、Group和Topic相关的关键告警指标,您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见创建Prometheus告警规则

    默认告警规则包括 Topic消息生产条数、Topic消息消费量、消息堆积量、Group未消费此Topic消息数、实例磁盘使用率、实例消息生产量等。对于每条告警规则,您可以执行 编辑停止删除 操作,也可以查看 告警事件历史

使用Prometheus监控自建Kafka

除了阿里云Kafka外,可观测监控 Prometheus 版同时提供了自建Kafka的监控接入能力,支持容器服务(包含ACK、ASK、注册集群等)和ECS这两个环境类型的Kafka监控。Kafka监控可以收集Broker数量、Topic分区、消息组Lag等基础指标,同时Kafka服务端无需您进行任何配置或重启操作。

与阿里云Kafka的监控场景不同,自建Kafka时,您不仅需要关注使用Kafka的例行指标外,还需要关注运维Kafka的内部指标。

部署自建Kafka的基础监控

  1. 登录云监控控制台

  2. 在左侧导航栏单击接入中心,然后在右侧页面单击Kafka卡片。

  3. 按照界面提示配置接入参数,然后单击确定。下文对主要参数进行说明。

    容器服务环境

    参数

    说明

    Pod 选择标签

    部署JMX Agent时,为Pod配置的标签和标签值,可观测监控 Prometheus 版通过此标签进行服务发现(Service Discovery)。详细信息,请参见如何部署和配置Kafka JMX Agent

    Metric 采集间隔

    监控数据采集时间间隔。

    选择所属环境类型容器服务环境,在选择容器服务集群下拉框中选择目标集群,填写接入名称(同一接入环境中需唯一)。该组件目前处于实验性阶段,对 Kafka JVM 版本具有有限的兼容性,请谨慎试用。完成所有配置后,单击确定

    ECS(VPC)

    参数

    说明

    Kafka 集群名称

    每次接入需使用不同的集群名称,以防止指标重复采集,导致大盘展示错误。

    服务地址

    填写Kafka Broker的连接地址,可以使用Kafka Broker的IP或DNS地址。多个Broker地址之间使用英文半角逗号或分号来分隔。

    开启 SASL

    选择Kafka服务端是否使用SASL。

    开启 TLS

    选择Kafka服务端是否使用TLS。

    Metric 采集间隔(单位/秒)

    监控数据采集时间间隔。

    配置信息中还包含接入名称(非必填,需保持唯一)、网络连通性测试链接(用于验证服务地址可达性)以及自定义标签字段(可通过加号添加多组键值对)。填写完成后单击确定

查看自建Kafka的基础监控大盘

  1. 登录云监控控制台

  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,进入集成中心页面。
  4. 单击已安装区域的Kafka卡片,在弹出的面板中单击大盘页签,然后单击大盘缩略图,即可查看对应Grafana大盘。

    Kafka监控大盘主要展示以下几点,如下图所示:vr

    • Kafka Broker数量。

    • 每个Topic的分区数。

    • 每个Topic的消息入/出/堆积数量。

    • 每个Topic的ISR(In-Sync Replicas)数量。

配置自建Kafka的基础监控告警

可观测监控 Prometheus 版控制台的集成中心页面单击已安装区域的Kafka卡片,并在弹出的面板中单击告警页签,查看Kafka的Prometheus告警。

可观测监控 Prometheus 版提供4个关键告警指标(有效Broker数量减少(3分钟)、存在Under Replicated分区、分区数量过多、Consumer Topic消息堆积),您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见创建Prometheus告警规则。告警页签展示Kafka相关的Prometheus告警规则列表,默认包含有效Broker数量减少存在Under Replicated分区分区数量过多Consumer Topic消息堆积4条告警规则,均为静态阈值检测类型、默认告警分组、P1等级、运行中状态。您可以对告警规则执行编辑停止删除及查看告警事件历史等操作,也可以单击右上角创建Prometheus告警规则新增规则。