【发布时间】:2021-01-20 11:46:20
【问题描述】:
我在我的应用程序中定义了很多计数器(使用 java micrometer),为了触发警报,我将要监视的计数器标记为“错误”:“警报”,因此像 {error="alert"} 这样的查询将生成多个范围向量:
error_counter_component1{error="alert", label2="random"}
error_counter_component2{error="alert", label2="random2"}
error_counter_component3{error="none", label2="random3"}
我无法控制计数器的名称,我只能将标签添加到我想在警报中使用的计数器。我想要的警报是,如果所有标有 error="alert" 的计数器在一小时内增加超过 3 个,所以我可以使用这种查询:increase({error="alert"}[1h]) > 3 但我在 Prometheus 中得到了休闲错误:Error executing query: vector cannot contain metrics with the same labelset
有没有办法合并两个范围向量,或者我应该在计数器名称中包含某种标签?或者我应该有一个错误计数器,并且标签应该指定如下来源:
errors_counter{source="component1", use_in_alert="yes"}
errors_counter{source="component2", use_in_alerts="yes"}
errors_counter{source="component3", use_in_alerts="no"}
【问题讨论】:
标签: java prometheus promql spring-micrometer