Grafana ダッシュボードの複数の計算で CPU コアの数を使用する必要があり、クエリを 1 回実行して変数に保存したいと考えていました。Grafana が受け入れる形式でデータを返す方法が見つかりません。
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
このような場合にはスカラーの使用は避けてください。たとえば、コア数が異なる可能性のある 2 つのホストでグラフを作成する場合などには機能しません。テンプレート変数ではなく、各クエリ式内でこれを行うことをお勧めします。