Grafana: Funktionsanforderung: Variablen in den Gitterschwellenwerten akzeptieren

Erstellt am 10. Okt. 2014  ·  66Kommentare  ·  Quelle: grafana/grafana

Hallo @torkelo , mir fehlen variable Schwellenwerte pro Dashboard-Vorlage

Angenommen, ich entwerfe eine Produkt-Dashboard-Vorlage (Beispiel Apache-Webserver) und benötige eine Überwachung, wenn die Antwortzeit einen Schwellenwert überschreitet.

Während das Dashboard gleich ist, können wir mit Variablen zu anderen Instanzen wechseln, aber die Reaktionszeit (ob gut oder nicht) hängt vom Backend ab, welcher reale Prozess der (kann ein Anwendungsserver sein, kann statisches HTML oder vielleicht ein LAMP-Server) , in jedem Fall unterscheiden sich die Schwellenwerte stark.

Es wäre auch eine gute Idee, diese Schwellenwerte (2-stellig) mit einer der Variablen in der Vorlage (Instanzname) beispielhaft zuzuordnen.

aredashboartemplating arepanegraph typfeature-request

Hilfreichster Kommentar

@kmoczydlowski @bogatuadrian @sofixa @golddiga @cattt84
Bitte hör auf, mit +1 zu bummen, du veranlassst jedem Abonnenten eine Benachrichtigung (und möglicherweise eine E-Mail)

Verwenden Sie die Reaktionen rechts neben jedem Kommentar, um Ihre Stimme auszudrücken.
Danke 😄

Alle 66 Kommentare

:+1:

Würde das auch gerne sehen :+1:

Ich bin mir nicht sicher, ob das überhaupt funktioniert, aber vielleicht könnten wir eine verknüpfte $threshold-Variable erstellen, die den Schwellenwert basierend auf der Variableneinstellung aktualisiert, und dann verwendet der Schwellenwert einfach $threshold

+1, das viele neue Möglichkeiten in Bezug auf dynamische Dashboards eröffnet

Ich hätte gerne die Möglichkeit, eine Metrik einem Schwellenwert zuzuordnen. Ich verwende Grafana, um Link-Nutzungsdiagramme für Netzwerkhardware zu zeichnen, und es ist schön, einen Schwellenwert dem Schnittstellentyp zugeordnet zu haben. Im Moment verwende ich die IfSpeed-SNMP-Quelle, um die aktive Schnittstellengeschwindigkeit zu erhalten und sie als nicht gefüllte Metrik zu zeichnen, aber auf diese Weise unterbricht die dynamische Max / Min-Funktion von Grafana.

+1, wäre sehr cool, diese Funktion zu haben. Ich muss den Schwellenwert durch influxdb-Tags festlegen.

Gibt es Neuigkeiten zu diesem Thema?

Das brauche ich auch dringend. Idealerweise könnte der Wert der Vorlagenvariablen das Ergebnis einer Abfrage sein (nicht der Pfadname, sondern der von dieser Abfrage zurückgegebene Wert).

+1

Sie möchten den Schwellenwert dynamisch basierend auf der Elasticsearch-Abfrage festlegen.

Für die Verwendung von Grafana als PNP4Nagios-Ersatz wäre es sehr hilfreich, die Möglichkeit zu haben, Warn-/Krit-Schwellenwerte und Min/Max-Y-Achsen-Werte basierend auf Feldwerten festzulegen!

Brauche das auch.
Zum Beispiel habe ich ein Speicherdiagramm und kann die $server-Variable nicht wechseln. Server haben unterschiedliche Speicherkapazitäten und ich möchte wissen, wie viel in GiB (nicht %) verwendet wird, aber ich erinnere mich nicht an die Gesamtspeichermenge auf ihnen. Also brauche ich einen Schwellenwert (oder vielleicht Y-Max) mit der Variablen $total_mem.

+1 hier muss $variable akzeptieren

+1

Ich bin auch gespannt auf diese Funktion, damit ich eine einzige Diagrammvorlage für mehrere Geräte mit unterschiedlichen Schwellenwerten verwenden kann.

Diese Funktion hätte ich auch gerne. Wie ist der aktuelle Stand dazu?

+1

+1

+1

+1

@kmoczydlowski @bogatuadrian @sofixa @golddiga @cattt84
Bitte hör auf, mit +1 zu bummen, du veranlassst jedem Abonnenten eine Benachrichtigung (und möglicherweise eine E-Mail)

Verwenden Sie die Reaktionen rechts neben jedem Kommentar, um Ihre Stimme auszudrücken.
Danke 😄

warum kann man keine Vorlagen verwenden?

Kann ein dynamischer Schwellenwert in die simpleJson-Datenquelle implementiert werden.

+1

+1

+1

Jetzt haben wir also 2018. Was ist mit dieser Funktion?

+1

+1 dazu.

Wie ist das seit 4 Jahren geöffnet? Einer unserer Anwendungsfälle ist die Überwachung von Dateispeicherkontingenten. Der Schwellenwert ist als weicher Grenzwert und als harter Grenzwert definiert, die beide pro Dateifreigabe definiert werden, sodass eine manuelle Einstellung nicht möglich ist, da die Diagramme dynamisch erstellt werden. Es erscheint trivial, uns einen Metrikwert auswählen zu lassen, der als Wert an den Schwellenwert übergeben wird. Diese Schwellenwerte sollten auch für die Alarmierung verwendet werden können.

Ich war auch danach (für das Singlestat-Panel) und habe eine Version implementiert, die hoffentlich in das Singlestat-Math-Plugin von Drittanbietern eingebunden wird (erster Versuch, ein Plugin zu erstellen - kann also Ecken und Kanten haben).
Die PR ist hier: https://github.com/black-mirror-1/singlestat-math/pull/14
Sie können aus meinem Zweig ziehen, wenn Sie es jetzt verwenden möchten.
Sie müssen lediglich eine zusätzliche Datenquelle hinzufügen, ihr einen Namen geben und diesen Namen in den Schwellenwerten verwenden. Dieses Plugin unterstützt auch n Schwellenwerte, die für einige vielleicht von Nutzen sind.

Ich brauche dies, um zu überprüfen, ob ein Job verzögert ist. Als Problemumgehung verwende ich im Moment eine Vorlagenvariablenabfrage max(my_prometheus_metric) und setze diese auf eine versteckte Variable, und dann habe ich eine zusätzliche Abfrage für meine Tabellenansicht, die abs(my_prometheus_metric - $variable) ausführt, und füge einen Schwellenwert hinzu Säule. Leider ist es nicht möglich, eine Spalte auszublenden, die zum Einstellen der Zeilenfarbe verwendet wird, daher würde ich mich auch über diese Funktion freuen.

Irgendein Update zu dieser Funktion?

@debmalyapan53 Entschuldigung, ich habe den Ball darauf fallen lassen - aber ich habe gerade eine weitere PR gegen die neueste Veröffentlichung eingelegt. Hoffentlich wird es in nicht allzu langer Zeit zusammengeführt. Die aktuelle PR ist unter: https://github.com/black-mirror-1/singlestat-math/pull/30
Danke schön.

Eigentlich möchte ich ein Textfeld implementieren, in dem der Benutzer den Schwellenwert einstellen kann, damit sich derselbe im Diagramm widerspiegelt.

+1

Mit der Vorlage können wir dies umgehen, dies ist mein Setup:

image

image

Beachten Sie, dass ich in den letzten Minuten einen Server deaktiviert habe und der Schwellenwert geändert wurde

Leider löst dies nicht alles, wir können nicht "oben ausfüllen" und können keine Warnungen darauf aufbauen. Obwohl die Problemumgehung in vielen Fällen funktioniert, löst sie nicht alle Probleme, grafana musste dennoch in der Lage sein, Variablen/Abfragen zum Einrichten der Schwellenwerte/Warnungen zu verwenden

5 Jahre und keine Neuigkeiten zu diesem Kunststück. Anfrage?

Ich möchte über die Elastic ML-Ergebnisse mit Grafana informieren. Beispiel-Dashboard, für das ich eine Warnung senden möchte. Ich habe die untere / obere Schwelle in der Grafik, die das Modelldiagramm ist.

image

+1
Dies ist eine sehr wichtige Funktion. Kurios, warum es hinkt.

Dies ist wirklich eine der wichtigsten Funktionen. Können wir dazu bitte ein Update haben?

Dies ist wirklich eine der wichtigsten Funktionen. Können wir dazu bitte ein Update haben?

Ich unterstütze das. Bitte bitte bitte....

Im Grunde wird dies also nie passieren, obwohl viele Leute hier und in einer Vielzahl anderer Anfragen, Fehlerberichte und im gesamten Web im Laufe von 5 Jahren danach fragen. Möglichkeit, die Eingaben Ihrer Benutzer aufzunehmen und Ihre Anwendung zu verbessern.

Ich brauche das auch.

Überprüfen Sie https://github.com/grafana/grafana/pull/19102 -- Wenn Sie Ihre Variable verwenden können, um einen Wert aus einer Abfrage zu generieren, könnte dies funktionieren. "SELECT ${var} VON xyz"

Als Workaround gehe ich wie folgt vor. Es wird davon ausgegangen, dass die zweite Y-Achse nicht verwendet wird (oder einen festen Min- und Max-Wert hat).

Beispiel:
image

So erstellen Sie es:

  • Fügen Sie eine Metrik mit dem Namen "down" (oder was auch immer) hinzu

    • Verwenden Sie eine Prometheus-Abfrage wie diese (mehrere Zeilen!). siehe Hinweise unten.

      1 - (day_of_week(vector(time())) > bool 0)
      * (day_of_week(vector(time())) < bool 6)
      * (((hour(vector(time()))  >= bool 7 - 2)))
      * (hour(vector(time())) < bool 19 - 2)
  • Fügen Sie für diese Metrik mit dem Namen "down" eine Visualisierungsüberschreibung hinzu:

    • Linienfüllung: 1

    • Linienbreite: 0

    • Treppenlinie: wahr

    • Farbe: _a hellgrau, like_ "rgb(167, 167, 167)"

    • Y-Achse: 2

    • Z-Index: 1 _(vor anderen Metriken)_

    • Legende: falsch

    • In Tooltip ausblenden: false

  • Konfigurieren Sie die 2. Y-Achsen-Visualisierung:

    • min: 0

    • max: 1 (oder was immer Sie wollen ... multiplizieren Sie die obige Metrik entsprechend)

Hinweis zur Abfrage:

  • In der obigen Beispielabfrage ist "7-2" 7:00 Uhr morgens, die "-2" ist meine Zeitzone und die Sommerzeitverschiebung!
  • Die Beispielabfrage behandelt auch das Wochenende
  • Sie können gerne auf diesen Kommentar antworten, wenn Sie die Abfrage für andere Datenquellen anpassen

Ugh... brauche das wirklich und es ist 2019... das ist ein alter Thread

Das gleiche hier.. wird wahrscheinlich nie passieren?

Ist es schwer umzusetzen oder will es einfach keiner? Wenn ja würde ich es gerne versuchen

@EggTronic Ich habe
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/packages/grafana-data/src/types/threshold.ts#L1 -L4

Ich habe versucht, dies speziell für die Bar-Guage zu implementieren. Die Schwelle(n) werden hier verwendet:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L37

Und weiter unten in derselben Datei wird eine replaceVariables Funktion verwendet, die meiner Meinung nach verwendet wird, um Grafana-Variablen auszuwerten:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L53 -L61

So wie ich es sehen kann ist

  1. Ändern Sie den Typ Threshold sodass value stattdessen ein Variablenname (String) sein kann.
  2. Fügen Sie jedem Panel-Typ Logik hinzu, um replaceVariables für alle Threshold.value aufzurufen, die Zeichenfolgen sind.
  3. Stellen Sie sicher, dass das Feld für die Schwellenwerteinstellung Zeichenfolgen (Variablennamen) akzeptiert.

Ich bin mir jedoch nicht sicher, ob das Design für die Codebasis geeignet ist. Es ist ein bisschen ein Hack.

+1 für die Funktionsanfrage

+1

Ich könnte das wirklich für das Gauge-Panel gebrauchen. Ich möchte für jeden Taglogger, der in meine Datenbank schreibt, ein Messgerät anzeigen. Jeder Logger meldet seine Aufnahmerate und die theoretisch optimale Aufnahmerate. Jeder Logger benötigt jedoch unterschiedliche Schwellenwerte für seine jeweiligen Aufnahmeraten.

+1

Gibt es eine Problemumgehung für diese Art von Funktionalität (für das SingleStat-Panel)? Oder können die Schwellenwerte mit einer MySQL-Abfrage aktualisiert werden?

Wie ist der Status dieser Probleme? Wird das umgesetzt? Oder ist die Umsetzung zu schwierig?

Ich habe das schon gefragt, aber keine Antwort: #25313

+1

Ich bin mir jedoch nicht sicher, ob das Design für die Codebasis geeignet ist. Es ist ein bisschen ein Hack.

@liamdiprose ist IMHO angemessen, hat es Ihnen etwas
Ein theoretischer Grund, dynamische Legenden zu vermeiden, ist, dass eine Panelvorlage auf einen einheitlichen Datensatz bezogen werden muss. Wenn die dynamische Legende geöffnet ist, um eine generische Vorlage zu haben, die verschiedene Datenströme verwalten kann, ist dies möglicherweise nicht korrekt. IMHO stehe ich vor einem Anwendungsfall, bei dem mehrere Indizes ein ähnliches Panel-Layout mit unterschiedlichen Skalen und Farbzuordnungen teilen.
Mit dynamischen Schwellenwerten kann ich ein einzelnes Dashboard verwalten, anstatt es für verschiedene Indizes zu replizieren.

Gibt es Feedback zu https://github.com/grafana/grafana/pull/24763 verwaltet ?

@luipir Noch nicht, wir brauchen diese Funktion dringend bei der Arbeit, aber sie ist noch in meinem Rückstand. :Weinen:

Grafana 7 scheint sich in die datengesteuerte Richtung zu bewegen, daher glaube ich, dass diese Funktion irgendwann hinzugefügt wird. @ryantxu von GrafanaLabs erwähnte, dass die Verwendung von Variablen auf diese Weise in einem ähnlichen Issue-Thread bevorsteht: https://github.com/grafana/grafana/issues/4929#issuecomment -601958742

Ich würde gerne sehen, dass jedes Einstellungsfeld Variablen akzeptiert. Vielleicht sollte jeder vom Benutzer angegebene Wert "ausgewertet" werden: Variablennamen werden zu ihrem Wert ausgewertet, Werte zu sich selbst ausgewertet. Die Variablenauswertung benötigt die richtige replaceVariables Funktion (die als Requisite an das Panel geliefert wird), um zu funktionieren.

Es wäre schön, wenn replaceVariables durch eval(varname) -> value und dann aus replaceVariables eine Hilfsfunktion werden könnte, die eval als Parameter verwendet.

+1

+1

+1

+1

Dies wäre eine äußerst nützliche Funktion bei der Darstellung von Aktien. Zum Beispiel kann ich Schwellenwerte basierend auf dem Eröffnungspreis eines Aktiensymbols haben, ohne ihn als Metrik darzustellen. Das Problem, auf das ich bei der Darstellung als Metrik gestoßen bin, ist, dass die Grafik dadurch abgeflacht/normalisiert wird.

Ohne den Eröffnungskurs zu chartern:
image

Nach dem Charting des Eröffnungskurses:
image

Festlegen des Eröffnungspreises als Schwellenwert (blaue Linie):
image

+1

+1, dies ist jetzt eine lange nachgefragte Funktion und scheint ziemlich "Standard" zu sein. Ich freue mich auf ein zukünftiges Update mit dieser Funktionalität!

+1

Anstelle des langweiligen +1 setze ich ein (riesiges) 🍺 als Kopfgeld für denjenigen, der dieses Feature in die Realität umsetzt.

Anwendungsbeispiel: Beim Versuch, ein generisches SLO-Dashboard für alle Endpunkte einer API zu erstellen, möchte ich, dass das Dashboard SLO-Bedingungen über die URL des Dashboards erhält.

Ich hatte ein ähnliches Problem, ich habe eine MySQL-Abfrage und ein Dashboard mit Variablen für min und max. Es war enttäuschend, die Min/Max-Variablen in den Schwellenwerten nicht verwenden zu können. Aber ich habe es geschafft, etwas Ähnliches zu zeichnen, was es mir zumindest ermöglichte, die Ausreißer zu visualisieren.

  1. Verweisen Sie in der Abfrage auf Ihre Variablen als zusätzliche Spalten.
    select time, data, ${minimum} as data_min, ${maximum} as data_max from table
  2. Fügen Sie eine Serienüberschreibung hinzu, mit einer Regex-Übereinstimmung auf den Mindest- und Höchstwerten (z. B. /data_(min|max)/ )
  3. Setzen Sie die Überschreibung auf:

    1. Linien aktivieren (vorausgesetzt, der Graph ist ansonsten Punkte)

    2. Punkte deaktivieren

    3. Verwenden Sie eine andere Farbe (oder verwenden Sie individuelle Überschreibungen für Min/Max)

    4. Legende deaktivieren

    5. Tooltipps deaktivieren

Wenn Sie eine Metrikspalte haben, möchten Sie Ihren Datenwert wahrscheinlich als '' ( data as '' ) benennen, wodurch die Legende/der Tooltip leer bleibt.

Natürlich ist dies nur eine visuelle Problemumgehung, Sie erhalten nicht die anderen Vorteile von Schwellenwerten, daher wird diese Funktionsanforderung immer noch dringend benötigt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen