Перемаркировка в Прометее - PullRequest
       35

Перемаркировка в Прометее

0 голосов
/ 21 сентября 2019

Я пытаюсь перемаркировать после копирования существующих метрик для Kafka только для соответствия ниже

Kafka_log_size {partition = «1», topic = «ab_bc_cd_12345_ef_001»,} 10

Я хочу выводкак: Kafka_log_size {partition = «1», topic = «ab_bc_cd_12345_ef_001»,} 10 Kafka_log_size_uniq {partition = «1», uniq = «12345»,} 10

При чтении нескольких статей кажется, что это может бытьдостигается путем перемаркировки.Но не знаете, с чего начать, пожалуйста, посоветуйте.Спасибо

1 Ответ

1 голос
/ 23 сентября 2019

У вас есть два варианта для перемаркировки ваших метрик в Prometheus:

В обоих случаях вам необходимо иметь регулярное выражение, соответствующее содержимому метки topic и извлекающее то, что вам нужно.

Relabelingв конфигурации

В работе по поиску работы для Kafka необходимо указать имя метрики, которое вы хотите заменить, и использовать конфигурацию перемаркировки :

metric_relabel_configs:
  - source_labels: [topic] 
    regex: '[a-z_]+_([0-9]+)_.*'
    action: replace
    target_label: uniq
    replacement: $1

Изатем добавьте правило для удаления метки

  - regex: 'topic'
    action: droplabel

Перемаркировка в запросе

Новая метка генерируется с использованием метки замены:

label_replace(Kafka_log_size, "uniq", "$1", "topic", "[a-z_]+_([0-9]+)_.*")

А затем примените оператор агрегирования , чтобы удалить ненужную метку:

max(label_replace(Kafka_log_size, "uniq", "$1", "topic", "[a-z_]+_([0-9]+)_.*")) without(topic)
...