簡體   English   中英

Prometheus - 添加新標簽以測量會導致“不一致的 label 基數”錯誤

[英]Prometheus - Adding new labels to gauge results in an `inconsistent label cardinality` error

我有一個 Go 應用程序將數據發送到普羅米修斯儀表

...
import (
    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/promauto"
)
...
var gauge = promauto.NewGaugeVec(prometheus.GaugeOpts{
    Name: "some_name",
    Help: "some desc",
},
    []string{"labelA", "labelB"},
)
...
// sending data to gauge
gauge.With(prometheus.Labels{
  "labelA": "...",
  "labelB": "...",
})

然后我修改了應用程序以包含第三個 label ( labelC )

...
var gauge = promauto.NewGaugeVec(prometheus.GaugeOpts{
    Name: "some_name",
    Help: "some desc",
},
    []string{"labelA", "labelB", "labelC"},
)
...
gauge.With(prometheus.Labels{
  "labelA": "...",
  "labelB": "...",
  "labelC": "...",
})

但是現在當我運行包含新 label 的應用程序時,我收到此錯誤

panic: inconsistent label cardinality: expected ... label values but got ... in prometheus.Labels{...}

調用gauge.With時發生錯誤

有人知道為什么嗎?

如果With中的標簽數量與NewGaugeVec中的標簽數量不匹配,客戶端庫將引發此錯誤。 因此,您可能忘記在代碼中的某處添加labelC: "..." 您應該能夠在堆棧跟蹤中找到該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM