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
相关产品推荐
相关产品推荐

