在普罗米修斯中重新标记

问题描述 投票:0回答:1

我试图在复制 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

从阅读多篇文章来看,这似乎可以通过重新标记来实现,但我不知道如何开始。

grafana prometheus promql
1个回答
4
投票

您有两种选择在 Prometheus 中重新标记指标:

在这两种情况下,您都需要一个正则表达式来匹配

topic
标签的内容并提取您需要的内容。

在配置中重新标记

在 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)
© www.soinside.com 2019 - 2024. All rights reserved.