Prometheus スカラーから Grafana ダッシュボード変数を設定する

Prometheus スカラーから Grafana ダッシュボード変数を設定する

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 つのホストでグラフを作成する場合などには機能しません。テンプレート変数ではなく、各クエリ式内でこれを行うことをお勧めします。

関連情報