Разберитесь в конфигурационном файле

#prometheus

Вопрос:

Я запускаю экспортер, который извлекает показатели из кафки. Я новичок в Prometheus, поэтому пытаюсь понять(ищу правильные документы), чтобы узнать значение файла конфигурации экспортера.

Вот моя конфигурация:

   #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_$2_$6
    labels:
      clientId: "$3"
      topic: "$4"
      partition: "$5"
    help: "Kafka $1 JMX metric type $2"
    type: GAUGE
 

В основном, где флаг name отражает в Прометее также, что это такое $1, $2,$3 — где они извлекают значение)

Ответ №1:

name Флагом будет имя метрики. Если ваш экземпляр kafka и prometheus запущен, вы можете просмотреть список показателей в prometheus (он localhost:9090/graph для меня).

Что касается $1 , то это группа захвата регулярных выражений, так что это все, что заключено в скобки. Вы можете видеть , что clientId есть $3 , которая является группой захвата жажды.

Ответ №2:

Похоже, вы определяете правило записи в Prometheus. Это правило создает новую метрику с метками name: kafka_$2_$6 и с соответствующими значениями для каждой: clientId: "$3" , topic: "$4" , partition: "$5" . Значения извлекаются из pattern атрибута.

Я попытался вставить ваше регулярное выражение в редактор, и оно не полностью работает. Я могу добраться до параметра $5 , но не $6 до него . В принципе, у вас есть шаблон

 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_$2_$6 , и она станет name: kafka_producer-topic_{wharever_is_in_6} . Проверьте здесь интерактивный редактор.