Festlegen der Grafana-Dashboard-Variable aus dem Prometheus-Skalar

Festlegen der Grafana-Dashboard-Variable aus dem Prometheus-Skalar

Ich muss die Anzahl der CPU-Kerne in mehreren Berechnungen auf einem Grafana-Dashboard verwenden und wollte die Abfrage einmal ausführen und in einer Variablen speichern. Ich kann keine Möglichkeit finden, die Daten in einem Format zurückzugeben, das Grafana akzeptiert.

Grafana-Fehler:

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

Ich habe versucht (PromQL):

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

Kehrt zurück:

Element {}, Value 2

Außerdem (PromQL):

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

Kehrt zurück:

Element scalar, Value 2

Verwenden Sie die Funktion von Grafana query_resultwie folgt:

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

In der Vorschau erhalte ich folgende Werte:

{} 2 1521669355000

Das 2in der Mitte ist das, was ich will.

Irgendwelche Ideen, wie das funktionieren könnte?

Antwort1

Sie können das Regex-Feld verwenden, um Ihren Wert abzurufen, in Ihrem Fall:/.* (.*) .*/

Antwort2

Dies funktioniert, wenn Sie dies in das Regex-Feld in Grafana einfügen

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

Antwort3

Sie sollten Skalare für solche Dinge vermeiden, da dies nicht funktioniert, wenn Sie beispielsweise ein Diagramm mit zwei Hosts erstellen möchten, die möglicherweise unterschiedliche Anzahlen von Kernen haben. Ich würde vorschlagen, dies innerhalb jedes Abfrageausdrucks zu tun, anstatt über eine Vorlagenvariable.

verwandte Informationen