[英]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.