Syntax von Variablen - 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.

Syntax von Variablen

Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die Grafana-Version 10.x unterstützen.

Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 9

Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 8

Paneltitel und metrische Abfragen können sich auf Variablen beziehen, die zwei unterschiedliche Syntaxen verwenden.

  • $varname— Diese Syntax ist leicht zu lesen, erlaubt es Ihnen jedoch nicht, eine Variable in der Mitte eines Wortes zu verwenden.

    Beispiel: apps.frontend.$server.requests.count

  • ${var_name}— Verwenden Sie diese Syntax, wenn Sie eine Variable in der Mitte eines Ausdrucks verwenden möchten.

  • ${var_name:<format>}— Dieses Format gibt Ihnen mehr Kontrolle darüber, wie Grafana Werte interpretiert. Weitere Informationen finden Sie unter Erweiterte Optionen für das Variablenformat, der dieser Liste folgt.

  • [[varname]]— Nicht verwenden. Diese Syntax ist alt und veraltet. Es wird in einer future Version entfernt.

Bevor Abfragen an Ihre Datenquelle gesendet werden, wird die Abfrage interpoliert, was bedeutet, dass die Variable durch ihren aktuellen Wert ersetzt wird. Während der Interpolation kann der Variablenwert maskiert werden, um der Syntax der Abfragesprache und dem Verwendungszweck zu entsprechen. Beispielsweise wird eine Variable, die in einem Regex-Ausdruck in einer InfluxDB- oder Prometheus-Abfrage verwendet wird, mit Regex-Escapes versehen.

Erweiterte Optionen für das Variablenformat

Die Formatierung der Variableninterpolation hängt von der Datenquelle ab, es gibt jedoch Situationen, in denen Sie möglicherweise die Standardformatierung ändern möchten.

Die Standardeinstellung für die MySQL-Datenquelle besteht beispielsweise darin, mehrere Werte durch Kommas getrennt durch Anführungszeichen zu verbinden:. 'server01','server02' In einigen Fällen möchten Sie vielleicht eine durch Kommas getrennte Zeichenfolge ohne Anführungszeichen verwenden:. server01,server02 Sie können dies mit den unten aufgeführten erweiterten Optionen zur Formatierung von Variablen erreichen.

Allgemeine Syntax

Syntax: ${var_name:option}

Wenn eine ungültige Formatierungsoption angegeben ist, glob ist dies die Standard-/Ausweichoption.

CSV

Formatiert Variablen mit mehreren Werten als kommagetrennte Zeichenfolge.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'

Verteilt - OpenTSDB

Formatiert Variablen mit mehreren Werten in einem benutzerdefinierten Format für OpenTSDB.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'

Doppeltes Anführungszeichen

Formatiert ein- und mehrwertige Variablen in eine durch Kommas getrennte Zeichenfolge, maskiert jeden Wert mit \" und setzt jeden Wert mit " in Anführungszeichen. "

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'

Glob - Graphit

Formatiert Variablen mit mehreren Werten in einen Glob (für Graphite-Abfragen).

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'

JSON

Formatiert Variablen mit mehreren Werten als kommagetrennte Zeichenfolge.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'

Lucene - Elasticsearch

Formatiert Variablen mit mehreren Werten im Lucene-Format für Elasticsearch.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'

Prozentualer Code

Formatiert ein- und mehrwertige Variablen zur Verwendung in URL-Parametern.

servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'

Pfeife

Formatiert Variablen mit mehreren Werten in eine durch Pipe getrennte Zeichenfolge.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'

Roh

Deaktiviert datenquellenspezifische Formatierungen, z. B. einfache Anführungszeichen in einer SQL-Abfrage.

servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'

Regex

Formatiert Variablen mit mehreren Werten in eine Regex-Zeichenfolge.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'

Einfaches Anführungszeichen

Formatiert ein- und mehrwertige Variablen in eine durch Kommas getrennte Zeichenfolge, maskiert jeden Wert mit und setzt jeden Wert mit ' in \' Anführungszeichen. '

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"

SQL-String

Formatiert ein- und mehrwertige Variablen in eine durch Kommas getrennte Zeichenfolge, maskiert jeden Wert mit '' und setzt jeden Wert mit ' in Anführungszeichen. '

servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"

Text

Formatiert ein- und mehrwertige Variablen in ihre Textdarstellung. Für eine einzelne Variable wird nur die Textdarstellung zurückgegeben. Bei Variablen mit mehreren Werten wird die Textdarstellung in Kombination mit + zurückgegeben.

servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"

Abfrageparameter

Formatiert ein- und mehrwertige Variablen in ihre Darstellung der Abfrageparameter. Beispiel: var-foo=value1&var-foo=value2

servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"