[英]How to alert on metrics with a high cardinality in prometheus
当尝试使用表达式count by(__name__) ({__name__=~".+"}) > 50
创建关于高度量基数的警报时,我收到错误: vector contains metrics with the same labelset after applying rule labels
。
由于该表达式在 prometheus 中直接使用时有效,我想知道是否有实际的方法可以在警报中使用它?
我想我找到了解决这个问题的方法,因为我自己也在尝试。
LT; DR
使用这个 promQL 表达式来警告度量基数:
label_replace(count by(__name__) ({__name__=~".+"}), "name", "$1", "__name__", "(.+)") > 50
长版
Prometheus 错误消息中所述的问题。 度量向量转换为警报向量后,没有标签不同,因此是重复的。 这意味着
vector A ( metric_a{label=test}, metric_b{label=test} )
转换为
vector B ( alert_a{label=test}, alert_a{label=test})
这就是为什么你有重复
(警告:这至少是我的理解)通过添加带有度量名称本身的新标签,您可以创建一个唯一的标签集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.