理解配置文件

Understand the config file

我是 运行 一个从 kafka 获取指标的出口商。我是普罗米修斯的新手,所以试图理解(搜索正确的文档)以了解导出器配置文件的含义。

这是我的配置:

  #kafka.producer:type=producer-topic-metrics,client-id="{clientid}",topic="{topic}"", partition="{partition}"
  #kafka.consumer:type=consumer-fetch-manager-metrics,client-id="{clientid}",topic="{topic}"", partition="{partition}"
  - pattern: kafka.(.+)<type=(.+)-metrics, client-id=(.+), topic=(.+), partition=(.+)><>(.+-total|compression-rate|.+-avg|.+-replica|.+-lag|.+-lead)
    name: kafka__
    labels:
      clientId: ""
      topic: ""
      partition: ""
    help: "Kafka  JMX metric type "
    type: GAUGE

基本上,标志 name 在普罗米修斯中反映的是什么 , , - 他们在哪里获取值)

name 标志将是指标名称。如果你的 kafka 和 prometheus 实例是 运行,你可以在 prometheus 中看到指标列表(对我来说是 localhost:9090/graph)。

至于 </code>,它是正则表达式捕获组,所以它是括号之间的所有内容。可以看到<code>clientId,就是解渴组

看起来您正在 Prometheus 中定义 recording rule。此规则使用 name: kafka__ 和标签创建一个新指标,每个标签具有各自的值:clientId: ""topic: ""partition: ""。这些值是从 pattern 属性中提取的。

我试图将您的正则表达式粘贴到编辑器上,但它无法正常工作。我可以得到直到参数 </code> 但不是 <code>。基本上,你有模式

kafka.(.+)<type=(.+)-metrics,client-id=(.+),topic=(.+),partition=(.+)

如果你有字符串:

kafka.producer<type=producer-topic-metrics,client-id=clientid,topic=topic_name,partition=partition_name

您可以从中提取这些值:

group 1: 6-14   producer
group 2: 20-34  producer-topic
group 3: 53-63  clientid
group 4: 70-82  topic_name
group 5: 93-109 partition_name

然后它将用于以下标签。例如,您的指标名称在 name: kafka__ 中定义,它将变为 name: kafka_producer-topic_{wharever_is_in_6}。检查 here the interactive editor.