2016-07-22 36 views
9

Ich mache ein Grafana-Dashboard und möchte ein Panel, das die neueste Version unserer App meldet. Die Version wird als Label im app_version berichtet (sagen wir) Metrik wie folgt:Wie schreibe ich eine Prometheus-Abfrage, die den Wert einer Beschriftung zurückgibt?

app_version_updated{instance="eu99",version="1.5.0-abcdefg"} 

ich eine Reihe von Prometheus-Abfragen versucht haben, die Version Label als String aus dem aktuellen Mitglied dieser Zeit zu extrahieren Serie, ohne Wirkung.

Zum Beispiel kann die Abfrage

count(app_version_updated) by (version) 

gibt ein {version="1.5.0-abcdefg"} Element mit einem Wert von 1. Wenn es in ein Grafana-Dashboard in einem Einzelwertfeld eingefügt wird, zeigt dies nicht die Version Zeichenfolge, sondern stattdessen den Zählwert (1) an.

Wie kann ich eine Prometheus-Abfrage erstellen, die die Versionszeichenfolge zurückgibt?

Antwort

5

Wir haben kürzlich Unterstützung für die Anzeige des Seriennamens als Wert in der einzelnen Statistikanzeige hinzugefügt (https://github.com/grafana/grafana/issues/4740). Also musst du unseren nächtlichen Build ausführen, bis wir 4.0 veröffentlichen.

Stellen Sie sicher, dass die Abfrage eine Serie zurückgibt, und Sie können den Wert "name" im Dropdown-Menü unter Optionen -> großer Wert verwenden. Dann können Sie die Zeichenfolge mit dem Legendenformatierer formatieren. Ex {{job}} würde "node" als einen Seriennamen zurückgeben.

Ich hoffe, dies beantwortet Ihre Frage.

1

Prometheus hat keine Funktionen, die Strings zurückgeben, was Sie suchen, ist für einen Grafana-Singlestat, um einen Labelwert anzeigen zu können - was er leider noch nicht unterstützt.

https://github.com/grafana/grafana/issues/5094 verfolgt dies.