You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Prometheus Exporter监控Kafka客户端(Java 8无Spring环境)

无需手动埋点采集Kafka客户端Prometheus指标的最优方案

不用在每个Kafka读写方法里手动加Prometheus Collectors,直接利用Kafka客户端原生的JMX指标结合Prometheus JMX Exporter就能解决,全程无需修改业务代码,完全避免重复代码和大规模重构。

核心思路

Kafka Producer、Streams本身内置了完整的JMX监控指标,涵盖你需要的主题消息发送量、记录读取数、请求延迟、发送次数等核心维度。通过JMX Exporter可以自动将这些JMX指标转换成Prometheus兼容的格式并暴露出来,无需手动埋点。

具体实现步骤

1. 准备JMX Exporter

下载Prometheus官方的JMX Exporter Javaagent包(选择兼容Java 8的版本)。

2. 编写指标映射配置文件

创建一个YAML配置文件(比如kafka_metrics_config.yaml),定义JMX指标到Prometheus指标的转换规则,示例配置如下:

rules:
  # 抓取Producer核心指标
  - pattern: 'kafka.producer<type=producer-metrics, client-id=(.*)><>(.*):'
    name: kafka_producer_$2
    labels:
      client_id: "$1"
  # 抓取Kafka Streams核心指标
  - pattern: 'kafka.streams<type=stream-metrics, client-id=(.*)><>(.*):'
    name: kafka_streams_$2
    labels:
      client_id: "$1"
  # 抓取按主题、分区拆分的Consumer指标(按需启用)
  - pattern: 'kafka.consumer<type=consumer-metrics, client-id=(.*), topic=(.*), partition=(.*)><>(.*):'
    name: kafka_consumer_$4
    labels:
      client_id: "$1"
      topic: "$2"
      partition: "$3"

这个配置会把Kafka原生JMX指标转换成带标签的Prometheus指标,比如kafka_producer_record_send_total(累计发送消息数)、kafka_streams_records_consumed_rate(每秒读取记录数)等。

3. 修改应用启动命令

通过Javaagent方式启动应用,让JMX Exporter自动抓取并暴露指标:

java -javaagent:/path/to/jmx_prometheus_javaagent.jar=9090:/path/to/kafka_metrics_config.yaml -jar your-application.jar
  • 9090是JMX Exporter暴露指标的端口,可按需修改
  • /path/to/替换为你实际的文件路径

4. 配置Prometheus抓取指标

在Prometheus的prometheus.yml中添加抓取任务:

scrape_configs:
  - job_name: 'kafka-app-metrics'
    static_configs:
      - targets: ['your-app-host:9090']

替换your-app-host为你的应用部署主机地址。

验证效果

启动应用和Prometheus后,访问http://your-app-host:9090/metrics,就能看到自动采集的Kafka客户端核心指标,包括:

  • kafka_producer_record_send_total:累计发送消息数
  • kafka_producer_request_latency_avg:平均发送请求延迟
  • kafka_streams_records_consumed_total:累计读取记录数
  • kafka_streams_commit_latency_avg:平均提交延迟

这些指标完全覆盖你的需求,全程无需修改业务代码。如果之后需要自定义额外指标,再按需添加少量手动埋点即可。

内容的提问来源于stack exchange,提问作者Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:52:31