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"