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

Prometheus Kafka exporter配置文件name字段与$1等占位符含义咨询

JMX Exporter配置规则说明

你使用的是Prometheus官方JMX Exporter的指标重命名规则配置,两个问题的解答如下:

一、$1、$2、$3等占位符的取值来源

这些占位符对应pattern字段中正则表达式的捕获组匹配结果,捕获组按正则中括号()出现的顺序从左到右编号,$N就对应第N个括号匹配到的原始JMX指标内容,对应你的配置的具体取值:

  • $1:匹配kafka.后面的Kafka角色标识,通常是producer(生产者)、consumer(消费者)、server(Broker服务端)
  • $2:匹配type=后面到-metrics之前的指标类型标识,比如producer-topic、consumer-fetch-manager
  • $3:匹配client-id=后面的客户端ID值,是你Kafka客户端/Broker配置中定义的clientId
  • $4:匹配topic=后面的Kafka主题名称
  • $5:匹配partition=后面的分区编号
  • $6:匹配最后的具体指标属性名,只有符合.+-total|compression-rate|.+-avg|.+-replica|.+-lag|.+-lead后缀规则的属性才会被采集,比如records-consumed-total、records-lag等

二、name字段的生效位置

name字段定义的是经过规则转换后最终生成的Prometheus指标名,生效的场景包括:

  • JMX Exporter暴露的/metrics采集接口中,你直接访问exporter的监听端口+/metrics路径,就能看到以name规则生成的指标
  • Prometheus服务端抓取指标后,存储到时序数据库中的指标名称,你写PromQL查询语句时,直接用生成的指标名作为查询入口,比如如果$2为consumer_fetch_manager、$6为records_lag,最终的指标名就是kafka_consumer_fetch_manager_records_lag,查询时直接填入该名称即可
  • 后续你配置的Prometheus告警规则、Grafana看板查询语句中,所有用到该Kafka指标的地方,都使用该name生成的指标名

小提示:JMX Exporter会自动将指标名中的横杠-转换为下划线_,符合Prometheus指标名的命名规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:57:03