„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Ich schlage vor, das Transkript des Berichts von Roman Khavronenko „ExtendedPromQL“ zu lesen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Kurz über mich. Mein Name ist Roman. Ich arbeite für CloudFlare und lebe in London. Aber ich bin auch ein VictoriaMetrics-Betreuer.
Und ich bin der Autor ClickHouse-Plugin für Grafana und ClickHouse-Proxy ist ein kleiner Proxy für ClickHouse.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Wir beginnen mit dem ersten Teil, der „Übersetzungsschwierigkeiten“ heißt, und darin werde ich darüber sprechen, dass jede Sprache oder auch nur eine Kommunikationssprache sehr wichtig ist. Denn so übermitteln Sie Ihre Gedanken einer anderen Person oder einem anderen System, so formulieren Sie eine Bitte. Im Internet streiten sich die Leute darüber, welche Sprache besser ist – Java oder eine andere. Für mich selbst habe ich entschieden, dass es notwendig ist, eine Aufgabe auszuwählen, weil dies alles spezifisch ist.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Fangen wir ganz von vorne an. Was ist PromQL? PromQL ist die Prometheus-Abfragesprache. Auf diese Weise bilden wir in Prometheus Abfragen, um Zeitreihendaten und Zeitreihen zu erhalten.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Was sind Zeitreihendaten? Im wahrsten Sinne des Wortes sind dies drei Parameter.

Diese sind:

  • Was schauen wir uns an.
  • Wenn wir es betrachten.
  • Und welchen Wert zeigt es.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Wenn Sie sich dieses Diagramm ansehen (dieses Diagramm stammt von meinem Telefon und zeigt die Statistiken meiner Schritte), können Sie diese Fragen hier schnell beantworten.

Wir betrachten Schritte. Wir sehen die Bedeutung und wir sehen die Zeit, wenn wir es betrachten. Das heißt, wenn man sich dieses Diagramm ansieht, kann man leicht sagen, dass ich am Sonntag etwa 15 Schritte gegangen bin. Hierbei handelt es sich um Zeitreihendaten.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Lassen Sie uns sie nun in ein anderes Datenmodell in Form einer Tabelle „aufbrechen“ (transformieren). Hier haben wir auch, was wir sehen. Hier habe ich ein paar zusätzliche Daten hinzugefügt, die wir Metadaten nennen werden, das heißt, nicht ich bin durchgegangen, sondern zwei Personen, zum Beispiel Jay und Silent Bob. Das ist es, was wir sehen; was es anzeigt und wann es diesen Wert anzeigt.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko
Versuchen wir nun, alle diese Daten in der Datenbank zu speichern. Ich habe zum Beispiel die ClickHouse-Syntax verwendet. Und hier erstellen wir eine Tabelle mit dem Namen „Schritte“, d. h. das, was wir betrachten. Es gibt hier eine Zeit, in der wir es betrachten; was es zeigt und einige Metadaten, in denen wir speichern werden, wer es ist: Jay und Silent Bob.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und um zu versuchen, das alles zu visualisieren, werden wir Grafana verwenden, weil es erstens wunderschön ist.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Auch wir werden dieses Plugin verwenden. Dafür gibt es zwei Gründe. Das erste liegt daran, dass ich es geschrieben habe. Und ich weiß genau, wie schwierig es ist, Zeitreihendaten aus ClickHouse abzurufen, um sie in Grafana anzuzeigen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Wir werden im Diagrammbereich angezeigt. Dies ist das beliebteste Panel in Grafana und zeigt den Wert im Verhältnis zur Zeit, daher benötigen wir nur zwei Parameter.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko
Schreiben wir die einfachste Abfrage – wie man Schrittstatistiken in Grafana anzeigt und diese Daten in ClickHouse in der von uns erstellten Tabelle speichert. Und wir schreiben eine so einfache Abfrage. Wir wählen aus Schritten. Wir wählen einen Wert und die Zeit dieser Werte aus, also dieselben drei Parameter, über die wir gesprochen haben.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und als Ergebnis erhalten wir diese Grafik. Wer weiß, warum er so seltsam ist?

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Das ist richtig, Sie müssen nach Zeit sortieren.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und am Ende bekommen wir einen besseren, aber immer noch seltsamen Zeitplan. Wer weiß warum? Richtig, es gibt zwei Teilnehmer, und wir verschenken zwei Zeitreihen in Grafana, denn wenn wir uns noch einmal mit dem Datenmodell befassen, dann ist jede Zeitreihe eine eindeutige Kombination aus einem Namen und allen Labels-Schlüsselwerten.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Daher müssen wir eine bestimmte Person auswählen. Wir entscheiden uns für Jay.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und noch einmal zeichnen. Jetzt sieht die Grafik wie die Wahrheit aus. Jetzt ist es ein normaler Zeitplan und alles funktioniert gut.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und wahrscheinlich wissen Sie, wie man ungefähr dasselbe macht, aber in Prometheus über PromQL. Ungefähr so. Etwas einfacher. Und lassen Sie uns alles aufschlüsseln. Wir haben Schritte unternommen. Und filtern Sie nach Jay. Wir geben hier nicht an, dass wir einen Wert erhalten müssen, und wir wählen keinen Zeitpunkt.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Versuchen wir nun, die Bewegungsgeschwindigkeit von Jay oder Silent Bob zu berechnen. In ClickHouse müssen wir „runningDifference“ ausführen, d. h. die Differenz zwischen Punktpaaren berechnen und sie durch die Zeit dividieren, um die genaue Geschwindigkeit zu erhalten. Die Anfrage wird in etwa so aussehen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und er wird ungefähr diese Werte anzeigen, also ungefähr 1,8 Schritte pro Sekunde macht Silent Bob oder Jay.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und in Prometheus wissen Sie auch, wie es geht. Viel einfacher als zuvor.

„ExtendedPromQL“ – Abschrift des Berichts von Roman KhavronenkoUnd um es auch in Grafana einfacher zu machen, habe ich einen solchen Wrapper hinzugefügt, der PromQL sehr ähnlich sieht. Es heißt „Rate Macros“ oder wie auch immer Sie es nennen möchten. In Grafana schreibt man einfach „Rate“, aber irgendwo tief im Inneren verwandelt sich das in eine so große Anfrage. Und Sie müssen es nicht einmal ansehen, es ist irgendwo da, aber Sie sparen viel Zeit, weil das Schreiben solch großer SQL-Abfragen immer teuer ist. Man kann leicht einen Fehler machen und dann lange Zeit nicht verstehen, was passiert.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und das ist eine Abfrage, die nicht einmal auf eine Folie passte, und ich musste sie sogar in zwei Spalten aufteilen. Dies ist auch eine Anfrage in ClickHouse, die die gleiche Rate macht, aber für beide Zeitreihen: Silent Bob und Jay, sodass wir zwei Zeitreihen auf dem Panel haben. Und das ist meiner Meinung nach schon sehr schwierig.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und laut Prometheus wird es Summe (Rate) sein. Für ClickHouse habe ich ein separates Makro namens RateColumns erstellt, das wie eine Prometheus-Abfrage aussieht.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Wir haben nachgeschaut und es scheint, dass PromQL so cool ist, aber es hat natürlich Einschränkungen.

Diese sind:

  • Begrenzte Auswahl.
  • Edge JOINs.
  • Keine HAVING-Unterstützung.

Und wenn Sie schon lange damit arbeiten, wissen Sie, dass es manchmal sehr schwierig ist, etwas in PromQL zu tun, und in SQL kann man fast alles tun, weil alle diese Optionen, über die wir gerade gesprochen haben, in SQL möglich sind . Aber wäre es praktisch, es zu verwenden? Und das lässt mich denken, dass nicht immer die mächtigste Sprache auch die bequemste sein kann.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Daher müssen Sie manchmal eine Sprache für Aufgaben auswählen. Es ist wie ein Kampf zwischen Batman und Superman. Es ist klar, dass Superman stärker ist, aber Batman konnte ihn besiegen, weil er praktischer ist und genau wusste, was er tat.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und der nächste Teil ist die Erweiterung von PromQL.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Noch einmal zu VictoriaMetrics. Was ist VictoriaMetrics? Dies ist eine Zeitreihendatenbank, sie ist in OpenSource, wir vertreiben ihre Einzel- und Clusterversionen. Laut unseren Benchmarks ist es das schnellste, was derzeit auf dem Markt ist, und es ist ähnlich in Bezug auf die Komprimierung, d. h. lebende Menschen berichten von einer Komprimierung von etwa 0,4 Bytes pro Punkt, während Prometheus 1,2-1,4 hat.

Wir unterstützen nicht nur Prometheus. Wir unterstützen InfluxDB, Graphite, OpenTSDB.

Sie können bei uns „schreiben“, also alte Daten übertragen.

Und auch mit Prometheus und Grafana arbeiten wir perfekt zusammen, d.h. wir unterstützen die PromQL-Engine. Und in Grafana können Sie einfach den Prometheus-Endpunkt in VictoriaMetrics ändern und alle Ihre Dashboards funktionieren wie bisher.

Sie können aber auch zusätzliche Chips von VictoriaMetrics verwenden.

Wir werden die von uns hinzugefügten Funktionen kurz durchgehen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Intervallparameter weglassen – Sie können das Parameterintervall in Grafana überspringen. Wenn Sie beim Vergrößern/Verkleinern des Panels keine seltsamen Diagramme erhalten möchten, wird die Verwendung der Variablen empfohlen $__interval. Dies ist eine interne Grafana-Änderung und wählt den Datenbereich selbst aus. Und VictoriaMetrics kann selbst verstehen, wie dieser Bereich aussehen sollte. Und Sie müssen nicht alle Ihre Anfragen aktualisieren. Es wird viel einfacher sein.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Die zweite Funktion ist die Intervallreferenzierung. Sie können diesen Abstand in Ihren Ausdrücken verwenden. Sie können es multiplizieren, dividieren, übertragen und darauf verweisen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Als nächstes folgt die Rollup-Funktionsfamilie. Die Rollup-Funktion wandelt jede Ihrer Zeitreihen in drei separate Zeitreihen um. Dies sind Min., Max. und Durchschnitt. Ich finde es sehr praktisch, weil es manchmal Ausreißer (Anomalien) und Ungenauigkeiten zeigen kann.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und wenn Sie nur „irate“ oder „rate“ machen, können Sie wahrscheinlich einige Fälle übersehen, in denen sich die Zeitreihe nicht so verhält, wie Sie es beabsichtigt haben. Mit dieser Funktion ist es viel einfacher zu erkennen, nehmen wir an, dass Max sehr weit vom Durchschnitt abweicht.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Als nächstes folgt die Standardvariable. Standard – das bedeutet, welchen Wert wir in Grafana zeichnen müssen, wenn wir im Moment keine Zeitreihe haben. Wann passiert es? Nehmen wir an, Sie exportieren einige Fehlermetriken. Und Sie haben eine so coole Anwendung, dass Sie beim Start keine Fehler haben und sogar in den nächsten drei Stunden oder sogar einem Tag keine Fehler mehr haben. Und Sie verfügen über Dashboards, die Zusammenhänge vom Erfolg bis zum Fehler aufzeigen. Und sie zeigen Ihnen nichts, weil Sie keine Fehlermetrik haben. Und standardmäßig können Sie alles angeben.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Keep_last_Value – speichert den letzten Wert der Metrik, wenn dieser fehlt. Wenn Prometheus es nach dem nächsten Scraping nicht innerhalb von 5 Minuten gefunden hat, speichern wir hier seinen letzten Wert und Ihre Charts werden nicht erneut kaputt gehen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Scrape_interval – zeigt an, wie oft und mit welcher Häufigkeit Prometheus Daten zu Ihrer Metrik sammelt. Hier können Sie sich zum Beispiel den Pass ansehen.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko
Das Ersetzen von Etiketten ist eine beliebte Funktion. Aber wir denken, dass es etwas kompliziert ist, weil es ganzzahlige Argumente erfordert. Und Sie müssen sich nicht nur die 5 Argumente merken, sondern auch deren Reihenfolge.
„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko
Warum also nicht einfacher machen? Das heißt, zerlegen Sie es in kleine Funktionen mit klarer Syntax.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und jetzt das Interessanteste. Warum glauben wir, dass es sich um erweitertes PromQL handelt? Weil wir Common Table Expressions unterstützen. Sie können dem QR-Code folgen (https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/ExtendedPromQL), siehe Links mit Beispielen aus dem Playground, wo Sie Abfragen direkt in VictoriaMetrics ausführen können, ohne es einfach im Browser zu installieren.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und was ist das? Diese Anfrage von oben ist eine ziemlich beliebte Anfrage. Ich denke, dass man in vielen Unternehmen in jedem Dashboard für alles den gleichen Filter verwendet. Normalerweise so. Wenn Sie jedoch einen neuen Filter hinzufügen müssen, müssen Sie jedes Panel aktualisieren oder das Dashboard herunterladen, es in JSON öffnen und eine Suche nach Ersetzen durchführen, was ebenfalls Zeit kostet. Warum diesen Wert nicht in einer Variablen speichern und wiederverwenden? Es sieht meiner Meinung nach viel einfacher und klarer aus.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Zum Beispiel, wenn ich die Filter in Grafana in allen Anfragen aktualisieren muss und das Dashboard riesig sein kann oder sogar mehrere davon umfassen kann. Und wie möchte ich dieses Problem in Grafana lösen?

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Ich löse dieses Problem folgendermaßen: Ich erstelle einen commonFilter, definiere diesen Filter darin und verwende ihn dann in Abfragen wieder. Wenn Sie jetzt jedoch dasselbe tun, funktioniert es nicht, da Grafana die Verwendung von Variablen innerhalb von Abfragevariablen nicht zulässt. Und es ist ein bisschen seltsam.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Deshalb habe ich eine Option entwickelt, die Ihnen dies ermöglicht. Und wenn Sie Interesse an einer solchen Funktion haben oder diese wünschen, dann unterstützen Sie sie oder lehnen Sie sie ab, wenn Ihnen diese Idee nicht gefällt. https://github.com/grafana/grafana/pull/16694

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Mehr über PromQL erweitert. Hier definieren wir nicht nur eine Variable, sondern direkt eine ganze Funktion. Und wir nennen es ru (Ressourcennutzung). Und diese Funktion akzeptiert freie Ressourcen, ein Ressourcenlimit und einen Filter. Die Syntax scheint einfach zu sein. Und es ist sehr einfach, diese Funktion zu verwenden und den Prozentsatz des freien Speichers zu berechnen, den wir haben. Das heißt, wie viel Speicher wir haben, welches Limit und wie wir filtern. Es sieht viel besser aus, wenn Sie alles unter Wiederverwendung derselben Filter schreiben würden, da dies zu einer sehr großen Abfrage führen würde.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Und hier ist ein Beispiel für eine so große, große Anfrage. Es stammt aus dem offiziellen NodeExporter-Dashboard für Grafana. Aber ich verstehe nicht wirklich, was hier vor sich geht. Das ist natürlich verständlich, wenn man genau hinschaut, aber die Anzahl der Klammern kann die Motivation, zu verstehen, was hier passiert, sofort verringern. Und warum nicht einfacher und klarer machen?

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

So können Sie beispielsweise wichtige Dinge oder Teile in Variablen hervorheben. Und dann machen Sie Ihre Grundrechenarten. Das ist eher eine Art Programmierung, das ist es, was ich in Zukunft gerne in Grafana sehen würde.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Hier ist ein zweites Beispiel, wie wir es noch einfacher machen können, wenn wir diese ru-Funktion bereits hätten und sie bereits direkt in VictoriaMetrics existiert. Und dann übergeben Sie einfach den zwischengespeicherten Wert, den Sie im CTE deklariert haben.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Ich habe bereits darüber gesprochen, wie wichtig es ist, die richtige Programmiersprache zu verwenden. Und wahrscheinlich passiert in Grafana in jedem Unternehmen etwas anderes. Und wahrscheinlich gewähren Sie Ihren Entwicklern immer noch Zugriff auf Grafana, und die Entwickler machen etwas Eigenes. Und sie alle machen es auf unterschiedliche Weise. Aber ich wollte es irgendwie gleich, also reduziert auf einen gemeinsamen Standard.

Nehmen wir an, Sie haben nicht nur Systemingenieure, sondern vielleicht sogar Experten, Entwickler oder SREs. Vielleicht haben Sie Experten, die wissen, was Monitoring ist, wissen, was Grafana ist, d. h. sie arbeiten seit Jahren damit und wissen genau, wie man es richtig macht. Und sie haben es bereits 100 Mal geschrieben und allen erklärt, aber aus irgendeinem Grund hört niemand zu.

Aber was wäre, wenn sie dieses Wissen direkt in Grafana einbringen könnten, damit andere Benutzer die Funktionen wiederverwenden könnten? Und wenn es notwendig wäre, den Prozentsatz des freien Speichers zu berechnen, würden sie einfach die Funktion anwenden. Aber was wäre, wenn die Entwickler von Exporteuren zusammen mit ihrem Produkt auch eine Reihe von Funktionen bereitstellen würden, wie sie mit ihren Metriken arbeiten, weil sie genau wissen, was diese Metriken sind und wie sie sie richtig berechnen?

Dieser existiert nicht wirklich. Hier ist, was ich selbst gemacht habe. Dies ist die Bibliotheksunterstützung in Grafana. Nehmen wir an, die Leute, die NodeExporter gemacht haben, haben getan, was ich beschrieben habe. Und auch eine Reihe von Funktionen bereitgestellt.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Das heißt, es sieht ungefähr so ​​aus. Sie verbinden diese Bibliothek mit Grafana, beginnen mit der Bearbeitung und hier ist in JSON sehr einfach, wie mit dieser Metrik gearbeitet wird. Das heißt, einige Funktionen, ihre Beschreibung und was sie entfalten.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Meiner Meinung nach könnte das nützlich sein, denn dann würde man einfach so in Grafana schreiben. Und Grafana „sagt“ Ihnen, dass es diese und jene Funktion aus dieser und jener Bibliothek gibt – nutzen wir sie. Ich denke, das wäre sehr cool.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Ein wenig über VictoriaMetrics. Wir machen viele interessante Dinge. Lesen Sie unsere Artikel über Komprimierung, über unsere Konkurrenz mit anderen Zeitreihen-Datenanwendungen, unsere Erklärung zur Arbeit mit PromQL, denn darin gibt es noch viel mehr Anfänger, sowie über vertikale Skalierbarkeit und über die Konfrontation mit Thanos.

„ExtendedPromQL“ – Abschrift des Berichts von Roman Khavronenko

Fragen:

Ich beginne meine Frage mit einer einfachen Lebensgeschichte. Als ich Grafana zum ersten Mal verwendete, schrieb ich eine sehr überzeugende 5-Zeilen-Abfrage. Das Endergebnis ist ein sehr überzeugendes Diagramm. Diese Grafik ist fast in Produktion gegangen. Doch bei näherer Betrachtung stellte sich heraus, dass dieses Diagramm absoluten Unsinn darstellt, der nichts mit der Realität zu tun hat, obwohl die Zahlen in dem Bereich liegen, den wir erwartet hatten. Und meine Frage. Wir haben Bibliotheken, wir haben Funktionen, aber wie schreiben wir Tests für Grafana? Sie haben eine komplexe Anfrage geschrieben, die sich auf die Geschäftsentscheidung auswirkt – einen echten Container mit Servern zu bestellen oder nicht. Und wie wir wissen, ähnelt diese Funktion, die einen Graphen zeichnet, der Wahrheit. Danke.

Danke für die Frage. Hier gibt es zwei Teile. Erstens habe ich aufgrund meiner Erfahrung den Eindruck, dass die meisten Benutzer beim Betrachten ihrer Diagramme nicht verstehen, was sie ihnen zeigen. Irgendwie sind die Leute sehr gut darin, für jede Anomalie, die in den Diagrammen auftritt, eine Entschuldigung zu finden, selbst wenn es sich um einen Fehler innerhalb einer Funktion handelt. Und der zweite Teil: Mir scheint, dass die Verwendung solcher Funktionen viel besser zur Lösung Ihres Problems geeignet wäre, anstatt dass jeder Ihrer Entwickler seine eigene Kapazitätsplanung durchführt und mit einiger Wahrscheinlichkeit Fehler macht.

Wie überprüft man?

Wie zu überprüfen? Wahrscheinlich nicht.

Als Test in Grafana.

Und was ist mit Grafana? Grafana übersetzt diese Anfrage direkt in die DataSource.

Indem wir die Parameter ein wenig erweitern.

Nein, Grafana wird nichts hinzugefügt. Es können GET-Parameter vorhanden sein, z. B. „step“. Es wird nicht explizit angegeben, aber Sie können es überschreiben. Sie können es nicht überschreiben, aber es wird automatisch hinzugefügt. Hier schreibt man keine Tests. Ich denke nicht, dass man sich hier als Quelle der Wahrheit auf Grafana verlassen sollte.

Danke für den Bericht! Danke für die Komprimierung! Sie haben sich beim Zuordnen einer Variablen in einem Diagramm daran erinnert, dass Sie in Grafana keine Variable in einer Variablen verwenden können. Verstehst du was ich meine?

Ja.

Das bereitete mir zunächst Kopfzerbrechen, als ich in Grafana eine Warnung auslösen wollte. Und dort müssen Sie für jeden Host separat eine Warnung durchführen. Folgendes haben Sie getan: Funktioniert es für Warnungen in Grafana?

Wenn Grafana nicht auf andere Weise auf Variablen zugreift, funktioniert es. Mein Rat ist jedoch, die Alarmierung in Grafana überhaupt nicht zu verwenden, sondern lieber den Alertmanager zu verwenden.

Ja, ich benutze es, aber es schien einfacher zu sein, es in Grafana einzurichten, aber danke für den Tipp!

Source: habr.com

Kommentar hinzufügen