我仅在以下匹配条件下复制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
通过阅读多篇文章,看来可以通过重新标记来实现。但不确定如何开始,请提出建议。谢谢
答案 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]+)_.*")