Verwenden der Amazon Redshift Redshift-Datenquelle - Amazon Managed Grafana

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.

Verwenden der Amazon Redshift Redshift-Datenquelle

IAM-Richtlinien

Grafana benötigt über IAM erteilte Berechtigungen, um Redshift-Metriken lesen zu können. Sie können diese Berechtigungen an IAM-Rollen anhängen und die integrierte Unterstützung von Grafana für die Übernahme von Rollen nutzen. Die integrierte Amazon Grafana Redshift-Zugriffsrichtlinie ist im AWS verwaltete Richtlinie: AmazonGrafanaRedshiftAccess Abschnitt definiert.

Amazon Redshift Redshift-Daten abfragen

Die Amazon Redshift Redshift-Datenquelle bietet einen standardmäßigen SQL-Abfrage-Editor. Amazon Managed Grafana enthält einige Makros, die beim Schreiben komplexerer Zeitreihenabfragen helfen.

Makros

Makro Beschreibung Ausgabebeispiel
$__timeEpoch(column) $__timeEpochwerden durch einen Ausdruck ersetzt, um ihn in einen UNIX-Zeitstempel umzuwandeln und die Spalte in Zeit umzubenennen UNIX_TIMESTAMP(dateColumn) as "time"
$__timeFilter(column) $__timeFiltererstellt eine Bedingung, die die Daten (anhandcolumn) anhand des Zeitbereichs des Panels filtert time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'
$__timeFrom() $__timeFromgibt die aktuelle Startzeit des Bereichs des Panels mit Anführungszeichen aus '2017-07-18T11:15:52Z'
$__timeTo() $__timeTogibt die aktuelle Endzeit des Bereichs des Panels mit Anführungszeichen aus '2017-07-18T11:15:52Z'
$__timeGroup(column, '1m') $__timeGroupgruppiert Zeitstempel so, dass es für jede Periode im Diagramm nur einen Punkt gibt floor(extract(epoch from time)/60)*60 AS "time"
$__schema $__schema verwendet das ausgewählte Schema public
$__table $__tablegibt eine Tabelle aus der angegebenen Tabelle aus $__schema (standardmäßig wird das öffentliche Schema verwendet) sales
$__column $__columngibt eine Spalte aus dem aktuellen $__table date
$__unixEpochFilter(column) $__unixEpochFilterwird durch einen Zeitbereichsfilter ersetzt, der den angegebenen Spaltennamen verwendet, wobei die Zeiten als Unix-Zeitstempel dargestellt werden column >= 1624406400 AND column <= 1624410000
$__unixEpochGroup(column) $__unixEpochGroupist dasselbe wie, $__timeGroup aber für Zeiten, die als Unix-Zeitstempel gespeichert sind floor(time/60)*60 AS "time"

Visualisierung

Die meisten Abfragen in Redshift lassen sich am besten durch eine Tabellenvisualisierung darstellen. Jede Abfrage zeigt Daten in einer Tabelle an. Wenn es abgefragt werden kann, kann es in eine Tabelle eingefügt werden.

Dieses Beispiel gibt Ergebnisse für eine Tabellenvisualisierung zurück:

SELECT {column_1}, {column_2} FROM {table};

Visualisierungen von Zeitreihen und Diagrammen

Für Zeitreihen- und Grafikvisualisierungen gelten einige Anforderungen:

  • Eine Spalte mit einem date oder einem datetime Typ muss ausgewählt werden.

  • Die date Spalte muss in aufsteigender Reihenfolge (mitORDER BY column ASC) angegeben werden.

  • Sie müssen eine numerische Spalte auswählen.

Um ein aussagekräftigeres Diagramm zu erstellen, sollten Sie unbedingt die $__timeGroup Makros $__timeFilter und verwenden.

Beispiel für eine Zeitreihenabfrage:

SELECT avg(execution_time) AS average_execution_time, $__timeGroup(start_time, 'hour'), query_type FROM account_usage.query_history WHERE $__timeFilter(start_time) group by query_type,start_time order by start_time,query_type ASC;

Füllmodus

Grafana vervollständigt auch Frames ohne Wert automatisch mit einigen Standardeinstellungen. Um diesen Wert zu konfigurieren, ändern Sie den Füllwert im Abfrage-Editor.

Die Abfrage wird überprüft

Da Grafana Makros unterstützt, die Redshift nicht unterstützt, ist die vollständig gerenderte Abfrage, die kopiert und direkt in Redshift eingefügt werden kann, im Query Inspector sichtbar. Um die vollständige interpolierte Abfrage anzuzeigen, wählen Sie das Menü Abfrageinspektor. Die vollständige Abfrage wird dann auf der Registerkarte Abfrage angezeigt.

Vorlagen und Variablen

Weitere Hinweise zum Hinzufügen einer neuen Redshift-Abfragevariablen finden Sie unter. Hinzufügen einer Abfragevariablen Verwenden Sie Ihre Redshift-Datenquelle als Datenquelle für die verfügbaren Abfragen.

Jeder Wert, der aus einer Amazon Redshift Redshift-Tabelle abgefragt wird, kann als Variable verwendet werden. Achten Sie darauf, nicht zu viele Werte auszuwählen, da dies zu Leistungsproblemen führen kann.

Nachdem Sie eine Variable erstellt haben, können Sie sie in Ihren Redshift-Abfragen verwenden, indem Sie Syntax der Variablen Weitere Hinweise zu Variablen finden Sie unterVorlagen und Variablen.

Anmerkungen

Anmerkungenermöglicht es Ihnen, umfangreiche Ereignisinformationen über Grafiken zu legen. Sie können Anmerkungen hinzufügen, indem Sie das Bedienfeld auswählen oder mithilfe der Ansicht Anmerkungen, die im Dashboard-Menü geöffnet wird, Kommentarabfragen hinzufügen.

Beispielabfrage zum automatischen Hinzufügen von Anmerkungen:

SELECT time as time, environment as tags, humidity as text FROM $__table WHERE $__timeFilter(time) and humidity > 95

Die folgende Tabelle enthält die Werte der Spalten, die beim Rendern von Anmerkungen berücksichtigt wurden:

Name Beschreibung
Time Der Name des Datums- oder Uhrzeitfeldes. Könnte eine Spalte mit einem nativen SQL-Datentyp für Datum oder Uhrzeit oder einem Epochenwert sein.
Timeend Optionaler Name des Enddatums- oder Zeitfeldes. Könnte eine Spalte mit einem nativen SQL-Datentyp für Datum oder Uhrzeit oder einem Epochenwert sein.
Text Feld mit der Beschreibung des Ereignisses.
Tags Optionaler Feldname, der für Event-Tags als kommagetrennte Zeichenfolge verwendet werden soll.