從 Prometheus 標量設定 Grafana 儀表板變數

從 Prometheus 標量設定 Grafana 儀表板變數

我需要在 Grafana 儀表板上的多次計算中使用 CPU 核心的數量,並希望執行一次查詢並儲存在變數中。我找不到以 Grafana 接受的格式傳回資料的方法。

格拉法納錯誤:

Template variables could not be initialized: parse error at char 1: vector selector must contain label matchers or metric name

我已經嘗試過(PromQL):

count(node_cpu{instance="$host",mode="system"})

返回:

Element {}, Value 2

另外(PromQL):

scalar(count(node_cpu{instance="$host",mode="system"}))

返回:

Element scalar, Value 2

像這樣使用 Grafana 的query_result函數:

query_result(count(node_cpu{instance="$host",mode="system"}))

我在預覽中得到以下值:

{} 2 1521669355000

2中間那個是我想要的。

有什麼想法可以讓這份工作發揮作用嗎?

答案1

您可以使用正規表示式欄位來取得您的值,在您的情況下:/.* (.*) .*/

答案2

如果您將其放入 grafana 的正規表示式方塊中,則此方法有效

/.*\s(.*)\s.*/

答案3

您應該避免使用標量來處理類似的事情,因為例如,如果您想要使用可能具有不同核心數量的兩個主機來繪製某些內容,則它不起作用。我建議在每個查詢表達式中執行此操作,而不是透過模板變數。

相關內容