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