我试图在复制 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
从阅读多篇文章来看,这似乎可以通过重新标记来实现,但我不知道如何开始。
您有两种选择在 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)