重新标记普罗米修斯

时间:2019-09-20 21:16:32

标签: grafana prometheus promql

我仅在以下匹配条件下复制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 个答案:

答案 0 :(得分:1)

您可以通过以下两种方法在Prometheus中重新标记指标:

在两种情况下,您都需要有一个与public class Foo : IFoo<int> { void IFoo<int>.Foo(int o) { throw new System.NotImplementedException(); } void IFoo.Foo(object o) { throw new System.NotImplementedException(); } } 标签内容匹配的正则表达式并提取所需的内容。

在配置中重新标记

在刮刮卡夫卡的工作中,必须匹配要替换的指标名称和use relabeling config

topic

然后添加规则以删除标签

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

在请求中重新标记

新标签是使用标签替换生成的:

  - regex: 'topic'
    action: droplabel

然后,应用aggregation operator删除不需要的标签:

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