Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Daten transformieren
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die Grafana-Version 9.x unterstützen.
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 10.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 10
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 8
Transformationen sind eine leistungsstarke Methode, um Daten zu bearbeiten, die von einer Abfrage zurückgegeben werden, bevor das System eine Visualisierung anwendet. Mithilfe von Transformationen können Sie:
-
Felder umbenennen
-
Zeitreihendaten verbinden
-
Führen Sie mathematische Operationen abfrageübergreifend durch
-
Verwenden Sie die Ausgabe einer Transformation als Eingabe für eine andere Transformation
Für Benutzer, die auf mehrere Ansichten desselben Datensatzes angewiesen sind, bieten Transformationen eine effiziente Methode zur Erstellung und Verwaltung zahlreicher Dashboards.
Sie können die Ausgabe einer Transformation auch als Eingabe für eine andere Transformation verwenden, was zu einer Leistungssteigerung führt.
Anmerkung
Manchmal kann das System transformierte Daten nicht grafisch darstellen. Wenn das passiert, klicken Sie auf den Schalter Tabellenansicht über der Visualisierung, um zu einer Tabellenansicht der Daten zu wechseln. Dies kann Ihnen helfen, das Endergebnis Ihrer Transformationen zu verstehen.
Typen von Transformationen
Grafana bietet eine Reihe von Möglichkeiten, wie Sie Daten transformieren können. Im Folgenden finden Sie eine vollständige Liste der Transformationsfunktionen.
Reihenfolge der Transformationen
Wenn es mehrere Transformationen gibt, wendet Grafana sie in der Reihenfolge an, in der sie aufgelistet sind. Jede Transformation erstellt eine Ergebnismenge, die dann an die nächste Transformation in der Verarbeitungspipeline weitergegeben wird.
Die Reihenfolge, in der Grafana Transformationen anwendet, wirkt sich direkt auf die Ergebnisse aus. Wenn Sie beispielsweise eine Reduce-Transformation verwenden, um alle Ergebnisse einer Spalte zu einem einzigen Wert zu verdichten, können Sie Transformationen nur auf diesen einzelnen Wert anwenden.
Fügen Sie Daten eine Transformationsfunktion hinzu
Die folgenden Schritte führen Sie durch das Hinzufügen einer Transformation zu Daten.
Um eine Transformation zu einem Panel hinzuzufügen
-
Navigieren Sie zu dem Bereich, in dem Sie eine oder mehrere Transformationen hinzufügen möchten.
-
Wählen Sie den Titel des Bedienfelds und klicken Sie dann auf Bearbeiten.
-
Wählen Sie die Registerkarte Transform (Transformation) aus.
-
Wählen Sie eine Transformation aus. Eine Transformationszeile wird angezeigt, in der Sie die Transformationsoptionen konfigurieren.
-
Um eine weitere Transformation anzuwenden, wählen Sie Transformation hinzufügen. Diese Transformation wirkt sich auf die Ergebnismenge aus, die von der vorherigen Transformation zurückgegeben wurde.
Debuggen Sie eine Transformation
Um die Eingabe- und Ausgaberesultsets der Transformation zu sehen, wählen Sie das Bugsymbol auf der rechten Seite der Transformationszeile.
Die Eingabe- und Ausgabeergebnissätze können Ihnen beim Debuggen einer Transformation helfen.
Löschen Sie eine Transformation
Wir empfehlen, Transformationen zu entfernen, die Sie nicht benötigen. Wenn Sie eine Transformation löschen, entfernen Sie die Daten aus der Visualisierung.
Voraussetzungen:
Identifizieren Sie alle Dashboards, die auf der Transformation basieren, und informieren Sie die betroffenen Dashboard-Benutzer.
Um eine Transformation zu löschen
-
Öffnen Sie ein Panel zur Bearbeitung.
-
Wählen Sie die Registerkarte Transform (Transformation) aus.
-
Wählen Sie das Papierkorbsymbol neben der Transformation, die Sie löschen möchten.
Transformationsfunktionen
Sie können die folgenden Transformationen an Ihren Daten durchführen.
Feld aus Berechnung hinzufügen
Verwenden Sie diese Transformation, um ein neues Feld hinzuzufügen, das aus zwei anderen Feldern berechnet wurde. Mit jeder Transformation können Sie ein neues Feld hinzufügen.
-
Modus — Wählen Sie einen Modus aus:
-
Zeile reduzieren — Wendet die ausgewählte Formel unabhängig auf jede Zeile der ausgewählten Felder an.
-
Binäre Option — Wendet grundlegende mathematische Operationen (Summe, Multiplikation usw.) auf Werte in einer einzelnen Zeile aus zwei ausgewählten Feldern an.
-
-
Feldname — Wählen Sie die Namen der Felder aus, die Sie in der Berechnung für das neue Feld verwenden möchten.
-
Berechnung — Wenn Sie den Modus Zeile reduzieren wählen, wird das Feld Formel angezeigt. Klicken Sie in das Feld, um eine Liste der Berechnungsoptionen anzuzeigen, mit denen Sie das neue Feld erstellen können. Informationen zu verfügbaren Berechnungen finden Sie unter Berechnungstypen.
-
Operation — Wenn Sie den Modus Binäre Option wählen, werden die Felder Operation angezeigt. Mit diesen Feldern können Sie grundlegende mathematische Operationen mit Werten in einer einzelnen Zeile aus zwei ausgewählten Feldern ausführen. Sie können numerische Werte auch für binäre Operationen verwenden.
-
Alias — (Optional) Geben Sie den Namen Ihres neuen Felds ein. Wenn Sie dieses Feld leer lassen, wird das Feld so benannt, dass es der Formel entspricht.
-
Alle Felder ersetzen — (Optional) Wählen Sie diese Option, wenn Sie alle anderen Felder ausblenden und nur Ihr berechnetes Feld in der Visualisierung anzeigen möchten.
Verketten Sie Felder
Diese Transformation kombiniert alle Felder aus allen Frames zu einem Ergebnis. Betrachten Sie diese beiden Abfragen.
Abfrage A:
Temporäre Dateien | Betriebszeit |
---|---|
15,4 |
1230233 |
Anfrage B:
AQI | Fehler |
---|---|
3.2 |
5 |
Nachdem Sie die Felder verkettet haben, würde der Datenrahmen wie folgt aussehen:
Temporäre Dateien | Betriebszeit | AQI | Fehler |
---|---|---|---|
15,4 |
1230233 |
3.2 |
5 |
Config aus Abfrageergebnissen
Mit dieser Transformation können Sie eine Abfrage auswählen und daraus Standardoptionen wie Min., Max., Einheit und Schwellenwerte extrahieren und auf andere Abfrageergebnisse anwenden. Dies ermöglicht eine dynamische, abfragegesteuerte Visualisierungskonfiguration.
Wenn Sie für jede Zeile im Ergebnis der Konfigurationsabfrage eine eindeutige Konfiguration extrahieren möchten, versuchen Sie es mit der Transformation von Zeilen in Felder.
Optionen
-
Konfigurationsabfrage — Wählen Sie die Abfrage aus, die die Daten zurückgibt, die Sie als Konfiguration verwenden möchten.
-
Anwenden auf — Wählen Sie aus, auf welche Felder oder Reihen die Konfiguration angewendet werden soll.
-
Auf Optionen anwenden — In der Regel ein regulärer Feldtyp oder ein Feldname, je nachdem, welche Option Sie unter Anwenden auf ausgewählt haben.
Feldtyp konvertieren
Diese Transformation ändert den Feldtyp des angegebenen Felds.
-
Feld — Wählen Sie aus verfügbaren Feldern aus
-
als — Wählen Sie das aus, in das FieldType konvertiert werden soll
-
Numerisch — versucht, die Werte zu Zahlen zu machen
-
Zeichenfolge — macht die Werte zu Zeichenketten
-
Zeit — versucht, die Werte als Zeit zu analysieren
-
Zeigt eine Option an, um a DateFormat als Eingabe mit einer Zeichenfolge wie yyyy-mm-dd oder DD MM YYYY hh:mm:ss anzugeben
-
-
Boolean — macht die Werte zu Boolean
-
Beispielsweise könnte die folgende Abfrage geändert werden, indem das Zeitfeld als Uhrzeit und das Datumsformat als YYYY ausgewählt wird.
Zeit | Markieren | Wert |
---|---|---|
1.7.2017 |
über |
25 |
8/2/2018 |
unten |
22 |
9/2/2019 |
unten |
29 |
4.10.2020 |
über |
22 |
Das Ergebnis:
Zeit | Mark | Wert |
---|---|---|
1.1.2017 |
über |
25 |
1.1.2018 |
unten |
22 |
1.1.2019 |
unten |
29 |
1.1.2020 |
über |
22 |
Daten nach Namen filtern
Verwenden Sie diese Transformation, um Teile der Abfrageergebnisse zu entfernen.
Grafana zeigt das Feld Identifier an, gefolgt von den Feldern, die von Ihrer Abfrage zurückgegeben wurden.
Sie können Filter auf zwei Arten anwenden:
-
Geben Sie einen Regex-Ausdruck ein.
-
Wählen Sie ein Feld aus, um die Filterung für dieses Feld umzuschalten. Gefilterte Felder werden mit dunkelgrauem Text angezeigt, ungefilterte Felder haben weißen Text.
Daten nach Abfragen filtern
Verwenden Sie diese Transformation in Bedienfeldern mit mehreren Abfragen, wenn Sie eine oder mehrere Abfragen ausblenden möchten.
Grafana zeigt die Abfrage-Identifikationsbuchstaben in dunkelgrauem Text an. Klicken Sie auf eine Abfrage-ID, um die Filterung umzuschalten. Wenn der Abfragebuchstabe weiß ist, werden die Ergebnisse angezeigt. Wenn der Abfragebuchstabe dunkel ist, sind die Ergebnisse ausgeblendet.
Anmerkung
Diese Transformation ist für Graphite nicht verfügbar, da diese Datenquelle die Korrelation zurückgegebener Daten mit Abfragen nicht unterstützt.
Daten nach Wert filtern
Diese Transformation ermöglicht es Ihnen, Ihre Daten direkt in Grafana zu filtern und einige Datenpunkte aus Ihrem Abfrageergebnis zu entfernen. Sie haben die Möglichkeit, Daten ein- oder auszuschließen, die einer oder mehreren von Ihnen definierten Bedingungen entsprechen. Die Bedingungen werden auf ein ausgewähltes Feld angewendet.
Diese Transformation ist nützlich, wenn Ihre Datenquelle nicht nativ nach Werten filtert. Sie können dies auch verwenden, um die anzuzeigenden Werte einzugrenzen, wenn Sie eine gemeinsam genutzte Abfrage verwenden.
Die verfügbaren Bedingungen für alle Felder sind:
-
Regex — Entspricht einem Regex-Ausdruck
-
Ist Null — Stimmt überein, wenn der Wert Null ist
-
Ist nicht Null — Stimmt überein, wenn der Wert nicht Null ist
-
Gleich — Entspricht, wenn der Wert dem angegebenen Wert entspricht
-
Anders — entspricht, wenn der Wert vom angegebenen Wert abweicht
Die verfügbaren Bedingungen für Zahlenfelder sind:
-
Größer — Entspricht, wenn der Wert größer als der angegebene Wert ist
-
Niedriger — Entspricht, wenn der Wert niedriger als der angegebene Wert ist
-
Größer oder gleich — Entspricht, wenn der Wert größer oder gleich ist
-
Niedriger oder gleich — Entspricht, wenn der Wert niedriger oder gleich ist
-
Bereich — Entspricht einem Bereich zwischen einem bestimmten Minimum und Maximum, einschließlich Mindest- und Höchstwert
Betrachten Sie den folgenden Datensatz:
Zeit | Temperatur | Höhe |
---|---|---|
07.07.2020 11:34:23 UHR |
32 |
101 |
07.07.2020 11:34:22 UHR |
28 |
125 |
07.07.2020 11:34:21 UHR |
26 |
110 |
07.07.2020 11:34:20 UHR |
23 |
98 |
07.07.2020 10:32:24 UHR |
31 |
95 |
07.07.2020 10:31:22 UHR |
20 |
85 |
07.07.2020 09:30:57 UHR |
19 |
101 |
Wenn Sie die Datenpunkte mit einer Temperatur unter 30 °C einbeziehen, sieht die Konfiguration wie folgt aus:
-
Filtertyp —
Include
-
Bedingung — Zeilen mit
Temperature
ÜbereinstimmungenLower Than 30
Und Sie erhalten das folgende Ergebnis, bei dem nur die Temperaturen unter 30 °C berücksichtigt werden:
Zeit | Temperatur | Höhe |
---|---|---|
07.07.2020 11:34:22 UHR |
28 |
125 |
07.07.2020 11:34:21 UHR |
26 |
110 |
07.07.2020 11:34:20 UHR |
23 |
98 |
07.07.2020 10:31:22 UHR |
20 |
85 |
07.07.2020 09:30:57 UHR |
19 |
101 |
Sie können dem Filter mehr als eine Bedingung hinzufügen. Möglicherweise möchten Sie die Daten nur einbeziehen, wenn die Höhe größer als 100 ist. Fügen Sie dazu diese Bedingung der folgenden Konfiguration hinzu:
-
Filtertyp —
Include
Zeilen, dieMatch All
Bedingungen erfüllen -
Bedingung 1 — Zeilen, in denen
Temperature
ÜbereinstimmungenLower
mit30
-
Bedingung 2 — Zeilen, in denen
Altitude
ÜbereinstimmungenGreater
mit100
Wenn Sie mehr als eine Bedingung haben, können Sie wählen, ob die Aktion (Einschließen/Ausschließen) auf Zeilen angewendet werden soll, die allen Bedingungen entsprechen oder einer der von Ihnen hinzugefügten Bedingungen entsprechen.
Im obigen Beispiel haben wir Match All ausgewählt, weil wir die Zeilen mit einer Temperatur unter 30 UND einer Höhe über 100 einbeziehen wollten. Wenn wir stattdessen die Zeilen mit einer Temperatur unter 30 ODER einer Höhe von über 100 einbeziehen wollten, würden wir Match any auswählen. Dies würde die erste Zeile in den Originaldaten einschließen, die eine Temperatur von 32 °C hat (entspricht nicht der ersten Bedingung), aber eine Höhe von 101 (was der zweiten Bedingung entspricht), also ist sie enthalten.
Bedingungen, die ungültig oder unvollständig konfiguriert sind, werden ignoriert.
Group by (Gruppierung nach)
Diese Transformation gruppiert die Daten nach einem bestimmten Feldwert (Spaltenwert) und verarbeitet Berechnungen für jede Gruppe. Klicken Sie hier, um eine Liste mit Berechnungsoptionen anzuzeigen.
Hier ist ein Beispiel für Originaldaten.
Zeit | Server ID | CPU-Temperatur | Status des Servers |
---|---|---|---|
07.07.2020 11:34:20 UHR |
Server 1 |
80 |
Herunterfahren |
07.07.2020 11:34:20 UHR |
Server 3 |
62 |
OK |
07.07.2020 10:32:20 UHR |
Server 2 |
90 |
Überlastung |
07.07.2020 10:31:22 UHR |
Server 3 |
55 |
OK |
07.07.2020 9:30:57 UHR |
Server 3 |
62 |
Rebooting |
07.07.2020 9:30:05 UHR |
Server 2 |
88 |
OK |
07.07.2020 9:28:06 UHR |
Server 1 |
80 |
OK |
07.07.2020 9:25:05 UHR |
Server 2 |
88 |
OK |
07.07.2020 9:23:07 UHR |
Server 1 |
86 |
OK |
Diese Transformation erfolgt in zwei Schritten. Zuerst geben Sie ein oder mehrere Felder an, nach denen die Daten gruppiert werden sollen. Dadurch werden dieselben Werte dieser Felder gruppiert, als ob Sie sie sortiert hätten. Wenn wir beispielsweise nach dem Server-ID-Feld gruppieren, würden die Daten wie folgt gruppiert:
Zeit | Server ID | CPU-Temperatur | Status des Servers |
---|---|---|---|
07.07.2020 11:34:20 UHR |
Server 1 |
80 |
Herunterfahren |
07.07.2020 9:28:06 UHR |
Server 1 |
80 |
OK |
07.07.2020 9:23:07 UHR |
Server 1 |
86 |
OK |
07.07.2020 10:32:20 UHR |
Server 2 |
90 |
Überlastung |
07.07.2020 9:30:05 UHR |
Server 2 |
88 |
OK |
07.07.2020 9:25:05 UHR |
Server 2 |
88 |
OK |
07.07.2020 11:34:20 UHR |
Server 3 |
62 |
OK |
07.07.2020 10:31:22 UHR |
Server 3 |
55 |
OK |
07.07.2020 9:30:57 UHR |
Server 3 |
62 |
Rebooting |
Alle Zeilen mit demselben Wert für die Server-ID werden zusammen gruppiert.
Nachdem Sie ausgewählt haben, nach welchem Feld Sie Ihre Daten gruppieren möchten, können Sie verschiedene Berechnungen für die anderen Felder hinzufügen und die Berechnung auf jede Zeilengruppe anwenden. Wir könnten zum Beispiel die durchschnittliche CPU-Temperatur für jeden dieser Server berechnen wollen. Wir können also die Mittelwertberechnung hinzufügen, die auf das Feld CPU-Temperatur angewendet wird, um Folgendes zu erhalten:
Server ID | CPU-Temperatur (Mittelwert) |
---|---|
Server 1 |
82 |
Server 2 |
88,6 |
Server 3 |
59,6 |
Und wir können mehr als eine Berechnung hinzufügen. Zum Beispiel:
-
Für das Feld Time können wir den letzten Wert berechnen, um zu wissen, wann der letzte Datenpunkt für jeden Server empfangen wurde
-
Für das Feld Serverstatus können wir den letzten Wert berechnen, um den letzten Statuswert für jeden Server zu ermitteln
-
Für das Feld Temperatur können wir auch den letzten Wert berechnen, um zu erfahren, welche Temperatur für jeden Server zuletzt überwacht wurde
Wir würden dann erhalten:
Server ID | CPU-Temperatur (Mittelwert) | CPU-Temperatur (letzte) | Zeit (letzte) | Serverstatus (zuletzt) |
---|---|---|---|---|
Server 1 |
82 |
80 |
07.07.2020 11:34:20 UHR |
Herunterfahren |
Server 2 |
88,6 |
90 |
07.07.2020 10:32:20 UHR |
Überlastung |
Server 3 |
59,6 |
62 |
07.07.2020 11:34:20 UHR |
OK |
Diese Transformation ermöglicht es Ihnen, wichtige Informationen aus Ihrer Zeitreihe zu extrahieren und sie auf bequeme Weise anzuzeigen.
Nach Feld verbinden
Verwenden Sie diese Transformation, um mehrere Ergebnisse zu einer einzigen Tabelle zusammenzuführen. Dies ist besonders nützlich, wenn Sie mehrere Zeitreihenergebnisse in eine einzige große Tabelle mit einem gemeinsamen Zeitfeld konvertieren möchten.
Innere Verbindung
Bei einer inneren Verknüpfung werden Daten aus mehreren Tabellen zusammengeführt, wobei alle Tabellen denselben Wert aus dem ausgewählten Feld haben. Diese Art der Verknüpfung schließt Daten aus, bei denen die Werte nicht in jedem Ergebnis übereinstimmen.
Verwenden Sie diese Transformation, um die Ergebnisse mehrerer Abfragen (Kombination aus einem übergebenen Join-Feld oder der ersten Zeitspalte) zu einem Ergebnis zu kombinieren und Zeilen zu löschen, in denen eine erfolgreiche Verknüpfung nicht möglich ist.
Im folgenden Beispiel geben zwei Abfragen Tabellendaten zurück. Es wird als zwei separate Tabellen visualisiert, bevor die innere Join-Transformation angewendet wird.
Abfrage A:
Zeit | Aufgabe | Betriebszeit |
---|---|---|
07.07.2020 11:34:20 UHR |
node |
25260122 |
07.07.2020 11:24:20 UHR |
Postfach |
123001233 |
07.07.2020 11:14:20 UHR |
Postfach |
345001233 |
Anfrage B:
Zeit | Server | Fehler |
---|---|---|
07.07.2020 11:34:20 UHR |
Server 1 |
15 |
07.07.2020 11:24:20 UHR |
Server 2 |
5 |
07.07.2020 11:04:20 UHR |
Server 3 |
10 |
Das Ergebnis nach der Anwendung der inneren Join-Transformation sieht wie folgt aus:
Zeit | Aufgabe | Betriebszeit | Server | Fehler |
---|---|---|---|---|
07.07.2020 11:34:20 UHR |
node |
25260122 |
Server 1 |
15 |
07.07.2020 11:24:20 UHR |
Postfach |
123001233 |
Server 2 |
5 |
Äußere Verbindung
Ein äußerer Join umfasst alle Daten aus einem inneren Join und Zeilen, in denen die Werte nicht in jeder Eingabe übereinstimmen. Während die innere Verknüpfung Abfrage A und Abfrage B im Zeitfeld verknüpft, umfasst die äußere Verknüpfung alle Zeilen, die im Zeitfeld nicht übereinstimmen.
Im folgenden Beispiel geben zwei Abfragen Tabellendaten zurück. Es wird als zwei Tabellen visualisiert, bevor die Outer-Join-Transformation angewendet wird.
Abfrage A:
Zeit | Aufgabe | Betriebszeit |
---|---|---|
07.07.2020 11:34:20 UHR |
node |
25260122 |
07.07.2020 11:24:20 UHR |
Postfach |
123001233 |
07.07.2020 11:14:20 UHR |
Postfach |
345001233 |
Anfrage B:
Zeit | Server | Fehler |
---|---|---|
07.07.2020 11:34:20 UHR |
Server 1 |
15 |
07.07.2020 11:24:20 UHR |
Server 2 |
5 |
07.07.2020 11:04:20 UHR |
Server 3 |
10 |
Das Ergebnis nach der Anwendung der Outer-Join-Transformation sieht wie folgt aus:
Zeit | Aufgabe | Betriebszeit | Server | Fehler |
---|---|---|---|---|
07.07.2020 11:04:20 UHR |
Server 3 |
10 |
||
07.07.2020 11:14:20 UHR |
Postfach |
345001233 |
||
07.07.2020 11:34:20 UHR |
node |
25260122 |
Server 1 |
15 |
07.07.2020 11:24:20 UHR |
Postfach |
123001233 |
Server 2 |
5 |
Beschriftungen für Felder
Durch diese Transformation werden Zeitreihenergebnisse, die Beschriftungen oder Tags enthalten, in eine Tabelle umgewandelt, in der alle Labelschlüssel und -werte im Tabellenergebnis enthalten sind. Die Beschriftungen können entweder als Spalten- oder als Zeilenwerte angezeigt werden.
Bei einem Abfrageergebnis aus zwei Zeitreihen:
-
Serie 1 — Beschriftungen Server=Server A, DataCenter=EU
-
Serie 2 — Bezeichnungen Server=Server B, DataCenter=EU
Im Spaltenmodus sieht das Ergebnis wie folgt aus:
Zeit | Server | Rechenzentrum | Wert |
---|---|---|---|
07.07.2020 11:34:20 UHR |
Server A |
EU |
1 |
07.07.2020 11:34:20 UHR |
Server B |
EU |
2 |
Im Modus „Zeilen“ enthält das Ergebnis eine Tabelle für jede Reihe und zeigt jeden Labelwert wie folgt an:
Bezeichnung | Wert |
---|---|
Server |
Server A |
Rechenzentrum |
EU |
Bezeichnung | Wert |
---|---|
Server |
Server B |
Rechenzentrum |
EU |
Name des Wertefeldes
Wenn Sie Server als Namen für das Wertfeld ausgewählt haben, erhalten Sie für jeden Wert der Serverbezeichnung ein Feld.
Zeit | Rechenzentrum | Server A | Server B |
---|---|---|---|
07.07.2020 11:34:20 UHR |
EU |
1 |
2 |
Verhalten beim Zusammenführen
Der Transformator „Labels to Fields“ besteht intern aus zwei getrennten Transformationen. Die erste Methode bezieht sich auf einzelne Datenreihen und extrahiert Beschriftungen in Felder. Die zweite ist die Zusammenführungstransformation, die alle Ergebnisse in einer einzigen Tabelle zusammenfasst. Die Zusammenführungstransformation versucht, alle übereinstimmenden Felder zu verknüpfen. Dieser Zusammenführungsschritt ist erforderlich und kann nicht deaktiviert werden.
Anmerkung
Die Transformation zum Zusammenführen kann eigenständig verwendet werden und wird im Folgenden ausführlich beschrieben.
Um dies zu veranschaulichen, finden Sie hier ein Beispiel mit zwei Abfragen, die Zeitreihen ohne überlappende Beschriftungen zurückgeben.
-
Serie 1 — Labels Server=ServerA
-
Serie 2 — Labels DataCenter=EU
Dies wird zunächst zu diesen beiden Tabellen führen:
Zeit | Server | Wert |
---|---|---|
07.07.2020 11:34:20 UHR |
Server A |
10 |
Zeit | Rechenzentrum | Wert |
---|---|---|
07.07.2020 11:34:20 UHR |
EU |
20 |
Nach der Zusammenführung:
Zeit | Server | Wert | Rechenzentrum |
---|---|---|---|
07.07.2020 11:34:20 UHR |
Server A |
10 |
|
07.07.2020 11:34:20 UHR |
20 |
EU |
Mischen von
Verwenden Sie diese Transformation, um das Ergebnis mehrerer Abfragen zu einem einzigen Ergebnis zu kombinieren. Dies ist hilfreich, wenn Sie die Tabellenfenster-Visualisierung verwenden. Werte, die zusammengeführt werden können, werden in derselben Zeile zusammengefasst. Werte können zusammengeführt werden, wenn die gemeinsam genutzten Felder dieselben Daten enthalten.
Im folgenden Beispiel haben wir zwei Abfragen, die Tabellendaten zurückgeben. Es wird als zwei separate Tabellen visualisiert, bevor die Transformation angewendet wird.
Abfrage A:
Zeit | Aufgabe | Betriebszeit |
---|---|---|
07.07.2020 11:34:20 UHR |
node |
25260122 |
07.07.2020 11:24:20 UHR |
Postfach |
123001233 |
Anfrage B:
Zeit | Aufgabe | Fehler |
---|---|---|
07.07.2020 11:34:20 UHR |
node |
15 |
07.07.2020 11:24:20 UHR |
Postfach |
5 |
Hier ist das Ergebnis nach der Anwendung der Merge-Transformation:
Zeit | Aufgabe | Fehler | Betriebszeit |
---|---|---|---|
07.07.2020 11:34:20 UHR |
node |
15 |
25260122 |
07.07.2020 11:24:20 UHR |
Postfach |
5 |
123001233 |
Felder organisieren
Verwenden Sie diese Transformation, um die von der Abfrage zurückgegebenen Felder umzubenennen, neu anzuordnen oder auszublenden.
Anmerkung
Diese Transformation funktioniert nur in Panels mit einer einzigen Abfrage. Wenn Ihr Panel über mehrere Abfragen verfügt, müssen Sie entweder eine Outer Join-Transformation anwenden oder die zusätzlichen Abfragen entfernen.
Grafana zeigt eine Liste der Felder an, die von der Abfrage zurückgegeben wurden. Sie haben folgende Möglichkeiten:
-
Ändern Sie die Reihenfolge der Felder, indem Sie den Mauszeiger über ein Feld bewegen. Der Cursor verwandelt sich in eine Hand, und dann können Sie das Feld an die neue Position ziehen.
-
Ein Feld ein- oder ausblenden, indem Sie auf das Augensymbol neben dem Feldnamen klicken.
-
Benennen Sie Felder um, indem Sie einen neuen Namen in das Feld Umbenennen eingeben.
Partitionierung nach Werten
Diese Transformation kann dazu beitragen, dass bei der grafischen Darstellung mehrerer Reihen nicht mehrere Abfragen an dieselbe Datenquelle mit unterschiedlichen WHERE
Klauseln erforderlich sind. Stellen Sie sich eine SQL-Tabelle mit Metriken mit den folgenden Daten vor:
Zeit | Region | Wert |
---|---|---|
20.10.2022 12:00:00 UHR |
US |
1520 |
20.10.2022 12:00:00 UHR |
EU |
2936 |
20.10.2022 01:00:00 UHR |
US |
1327 |
20.10.2022 01:00:00 UHR |
EU |
912 |
Wenn Sie vor Version 9.3 im selben TimeSeries Panel eine rote Trendlinie für die USA und eine blaue Trendlinie für die EU zeichnen wollten, mussten Sie dies wahrscheinlich in zwei Abfragen aufteilen:
SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='US' SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='EU'
Dazu müssen Sie auch im Voraus wissen, welche Regionen tatsächlich in der Metriktabelle enthalten sind.
Mit dem Transformator „Nach Werten partitionieren“ können Sie jetzt eine einzelne Abfrage ausführen und die Ergebnisse nach eindeutigen Werten in einer oder mehreren Spalten (fields
) Ihrer Wahl aufteilen. Im folgenden Beispiel wird verwende Region
.
SELECT Time, Region, Value FROM metrics WHERE Time > '2022-10-20'
Zeit | Region | Wert |
---|---|---|
20.10.2022 12:00:00 UHR |
US |
1520 |
20.10.2022 01:00:00 UHR |
US |
1327 |
Zeit | Region | Wert |
---|---|---|
20.10.2022 12:00:00 UHR |
EU |
2936 |
20.10.2022 01:00:00 UHR |
EU |
912 |
Reduzieren
Die Transformation zum Reduzieren wendet eine Berechnung auf jedes Feld im Frame an und gibt einen einzelnen Wert zurück. Zeitfelder werden entfernt, wenn diese Transformation angewendet wird.
Betrachten Sie die Eingabe:
Abfrage A:
Zeit | Temporäre Dateien | Betriebszeit |
---|---|---|
07.07.2020 11:34:20 UHR |
12.3 |
256122 |
07.07.2020 11:24:20 UHR |
15,4 |
1230233 |
Anfrage B:
Zeit | AQI | Fehler |
---|---|---|
07.07.2020 11:34:20 UHR |
6,5 |
15 |
07.07.2020 11:24:20 UHR |
3.2 |
5 |
Der Reduktionstransformator hat zwei Modi:
-
Reihe zu Zeilen — Erstellt eine Zeile für jedes Feld und eine Spalte für jede Berechnung.
-
Felder reduzieren — Behält die bestehende Rahmenstruktur bei, reduziert jedoch jedes Feld auf einen einzigen Wert.
Wenn Sie beispielsweise die erste und letzte Berechnung mit einer Transformation von Datenreihen in Zeilen verwenden würden, wäre das Ergebnis:
Feld | Erste | Letzte |
---|---|---|
Temporäre Dateien |
12.3 |
15.4 |
Betriebszeit |
256122 |
1230233 |
AQI |
6,5 |
3.2 |
Fehler |
15 |
5 |
Die Formel Felder mit der letzten Option reduzieren ergibt zwei Frames mit jeweils einer Zeile:
Abfrage A:
Temporäre Dateien | Betriebszeit |
---|---|
15,4 |
1230233 |
Anfrage B:
AQI | Fehler |
---|---|
3.2 |
5 |
Mit Regex umbenennen
Verwenden Sie diese Transformation, um Teile der Abfrageergebnisse mithilfe eines regulären Ausdrucks und eines Ersatzmusters umzubenennen.
Sie können einen regulären Ausdruck angeben, der nur auf Treffer angewendet wird, sowie ein Ersatzmuster, das Rückverweise unterstützt. Stellen wir uns zum Beispiel vor, Sie visualisieren die CPU-Auslastung pro Host und möchten den Domainnamen entfernen. Sie könnten die Regex auf setzen ([^\.]+)\..+
und das Ersatzmuster auf$1
, web-01.example.com
würde werden. web-01
Zeilen zu Feldern
Die Transformation von Zeilen in Felder konvertiert Zeilen in separate Felder. Dies kann nützlich sein, da Felder individuell gestaltet und konfiguriert werden können. Es kann auch zusätzliche Felder als Quellen für die dynamische Feldkonfiguration verwenden oder sie Feldbeschriftungen zuordnen. Die zusätzlichen Beschriftungen können dann verwendet werden, um bessere Anzeigenamen für die resultierenden Felder zu definieren.
Diese Transformation umfasst eine Feldtabelle, die alle Felder in den von der Konfigurationsabfrage zurückgegebenen Daten auflistet. Diese Tabelle gibt Ihnen die Kontrolle darüber, welches Feld jeder Konfigurationseigenschaft zugeordnet werden soll (die Option *Verwenden als**). Sie können auch wählen, welcher Wert ausgewählt werden soll, wenn die zurückgegebenen Daten mehrere Zeilen enthalten.
Diese Transformation erfordert:
-
Ein Feld, das als Quelle für Feldnamen verwendet werden soll.
Standardmäßig verwendet die Transformation das erste Zeichenkettenfeld als Quelle. Sie können diese Standardeinstellung überschreiben, indem Sie Feldname in der Spalte Verwenden als für das Feld auswählen, das Sie stattdessen verwenden möchten.
-
Ein Feld, das als Wertequelle verwendet werden soll.
Standardmäßig verwendet die Transformation das erste Zahlenfeld als Quelle. Sie können diese Standardeinstellung jedoch überschreiben, indem Sie in der Spalte Als verwenden für das Feld, das Sie stattdessen verwenden möchten, die Option Feldwert auswählen.
Nützlich bei der Visualisierung von Daten in:
-
Messinstrument
-
Stat
-
Kreisdiagramm
Ordnen Sie zusätzliche Felder Beschriftungen zu
Wenn ein Feld nicht der Konfigurationseigenschaft zugeordnet ist, verwendet Grafana es automatisch als Quelle für ein Label im Ausgabefeld-
Beispiel:
Name | DataCenter | Wert |
---|---|---|
ServerA |
US |
100 |
Server B |
EU |
200 |
Ausgabe:
ServerA (Bezeichnungen DataCenter: US) | ServerB (Etiketten: DataCenter: EU) |
---|---|
10 |
20 |
Die zusätzlichen Beschriftungen können jetzt im Feld Anzeigename verwendet werden, um vollständigere Feldnamen bereitzustellen.
Wenn Sie die Konfiguration aus einer Abfrage extrahieren und auf eine andere anwenden möchten, sollten Sie die Konfiguration aus der Transformation der Abfrageergebnisse verwenden.
Beispiel
Eingabe:
Name | Wert | Max |
---|---|---|
Server A |
10 |
100 |
Server B |
20 |
200 |
Server C |
30 |
300 |
Ausgabe:
ServerA (Konfiguration: max=100) | ServerB (Konfiguration: max=200) | ServerC (Konfiguration: max=300) |
---|---|---|
10 |
20 |
30 |
Wie Sie sehen können, wird jede Zeile in den Quelldaten zu einem separaten Feld. Für jedes Feld ist jetzt auch eine maximale Konfigurationsoption festgelegt. Optionen wie Min., Max., Einheit und Schwellenwerte sind alle Teil der Feldkonfiguration. Wenn sie so eingestellt sind, werden sie von der Visualisierung anstelle von Optionen verwendet, die manuell im Optionsbereich des Panel-Editors konfiguriert wurden.
Bereiten Sie Zeitreihen vor
Die Zeitreihentransformation vorbereiten ist nützlich, wenn eine Datenquelle Zeitreihendaten in einem Format zurückgibt, das von dem Panel, das Sie verwenden möchten, nicht unterstützt wird.
Diese Transformation hilft Ihnen, dieses Problem zu lösen, indem Sie die Zeitreihendaten entweder vom Breitformat in das Langformat oder umgekehrt konvertieren.
Wählen Sie die Option „Zeitreihen mit mehreren Frames“, um den Zeitreihendatenrahmen vom Breitformat in das Langformat umzuwandeln.
Wählen Sie die Option Breite Zeitreihe, um den Zeitreihen-Datenrahmen vom Langformat in das Breitformat umzuwandeln.
Reihe in Zeilen
Verwenden Sie diese Transformation, um das Ergebnis mehrerer Zeitreihen-Datenabfragen zu einem einzigen Ergebnis zu kombinieren. Dies ist hilfreich, wenn Sie die Tabellenfenster-Visualisierung verwenden.
Das Ergebnis dieser Transformation wird drei Spalten enthalten: Zeit, Metrik und Wert. Die Spalte Metrik wurde hinzugefügt, sodass Sie leicht erkennen können, aus welcher Abfrage die Metrik stammt. Passen Sie diesen Wert an, indem Sie Label in der Quellabfrage definieren.
Im folgenden Beispiel haben wir zwei Abfragen, die Zeitreihendaten zurückgeben. Es wird als zwei separate Tabellen visualisiert, bevor die Transformation angewendet wird.
Abfrage A:
Zeit | Temperatur |
---|---|
07.07.2020 11:34:20 UHR |
25 |
07.07.2020 10:31:22 UHR |
22 |
07.07.2020 09:30:05 UHR |
19 |
Anfrage B:
Zeit | Feuchte |
---|---|
07.07.2020 11:34:20 UHR |
24 |
07.07.2020 10:32:20 UHR |
29 |
07.07.2020 09:30:57 UHR |
33 |
Hier ist das Ergebnis nach der Anwendung der Transformation „Serie auf Zeilen“.
Zeit | Metrik | Wert |
---|---|---|
07.07.2020 11:34:20 UHR |
Temperatur |
25 |
07.07.2020 11:34:20 UHR |
Luftfeuchtigkeit |
22 |
07.07.2020 10:32:20 UHR |
Feuchtigkeit |
29 |
07.07.2020 10:31:22 UHR |
Temperatur |
22 |
07.07.2020 09:30:57 UHR |
Luftfeuchtigkeit |
33 |
07.07.2020 9:30:05 UHR |
Temperatur |
19 |
Sortiere nach
Diese Transformation sortiert jeden Frame nach dem konfigurierten Feld. Wenn diese Option aktiviert reverse
ist, werden die Werte in umgekehrter Reihenfolge zurückgegeben.
Limit
Verwenden Sie diese Transformation, um die Anzahl der angezeigten Zeilen zu begrenzen.
Im folgenden Beispiel haben wir die folgende Antwort von der Datenquelle:
Zeit | Metrik | Wert |
---|---|---|
07.07.2020 11:34:20 UHR |
Temperatur |
25 |
07.07.2020 11:34:20 UHR |
Luftfeuchtigkeit |
22 |
07.07.2020 10:32:20 UHR |
Feuchtigkeit |
29 |
07.07.2020 10:31:22 UHR |
Temperatur |
22 |
07.07.2020 09:30:57 UHR |
Luftfeuchtigkeit |
33 |
07.07.2020 9:30:05 UHR |
Temperatur |
19 |
Hier ist das Ergebnis nach dem Hinzufügen einer Limit-Transformation mit dem Wert '3':
Zeit | Metrik | Wert |
---|---|---|
07.07.2020 11:34:20 UHR |
Temperatur |
25 |
07.07.2020 11:34:20 UHR |
Luftfeuchtigkeit |
22 |
07.07.2020 10:32:20 UHR |
Feuchtigkeit |
29 |