Syntaxe variable - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Syntaxe variable

Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 10.x de Grafana.

Pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana, voir. Travailler dans la version 9 de Grafana

Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. Travailler dans la version 8 de Grafana

Les titres des panneaux et les requêtes métriques peuvent faire référence à des variables à l'aide de deux syntaxes différentes.

  • $varname— Cette syntaxe est facile à lire, mais elle ne permet pas d'utiliser une variable au milieu d'un mot.

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

  • ${var_name}— Utilisez cette syntaxe lorsque vous souhaitez utiliser une variable au milieu d'une expression.

  • ${var_name:<format>}— Ce format vous permet de mieux contrôler la façon dont Grafana interprète les valeurs. Pour plus d'informations, consultez la section Options avancées de format de variable, à la suite de cette liste.

  • [[varname]]— Ne pas utiliser Cette syntaxe est ancienne et est obsolète. Il sera supprimé dans une future version.

Avant que les requêtes ne soient envoyées à votre source de données, la requête est interpolée, ce qui signifie que la variable est remplacée par sa valeur actuelle. Pendant l'interpolation, la valeur de la variable peut être évitée afin de se conformer à la syntaxe du langage de requête et à l'endroit où elle est utilisée. Par exemple, une variable utilisée dans une expression regex dans une requête InfluxDB ou Prometheus sera échappée à l'expression régulière.

Options avancées de format variable

Le formatage de l'interpolation variable dépend de la source de données, mais dans certains cas, vous souhaiterez peut-être modifier le formatage par défaut.

Par exemple, la source de données MySQL par défaut consiste à joindre plusieurs valeurs séparées par des virgules par des guillemets :. 'server01','server02' Dans certains cas, vous souhaiterez peut-être avoir une chaîne séparée par des virgules sans guillemets :. server01,server02 Vous pouvez y parvenir grâce aux options avancées de mise en forme des variables répertoriées ci-dessous.

Syntaxe générale

Syntaxe : ${var_name:option}

Si une option de formatage non valide est spécifiée, il s'globagit de l'option par défaut/de secours.

CSV

Formate les variables comportant plusieurs valeurs sous forme de chaîne séparée par des virgules.

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

Distribué - OpenTSDB

Formate les variables avec plusieurs valeurs dans un format personnalisé pour OpenTSDB.

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

Devis double

Formate les variables à valeurs uniques ou multiples dans une chaîne séparée par des virgules, saisit chaque valeur par \" et " met chaque valeur entre guillemets avec. "

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

Globe - Graphite

Formate les variables comportant plusieurs valeurs dans un glob (pour les requêtes Graphite).

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

JSON

Formate les variables comportant plusieurs valeurs sous forme de chaîne séparée par des virgules.

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

Lucene - Elasticsearch

Formate les variables avec plusieurs valeurs au format Lucene pour Elasticsearch.

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

Code en pourcentage

Formate les variables à valeurs uniques et multiples à utiliser dans les paramètres d'URL.

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

Tuyau

Formate les variables comportant plusieurs valeurs dans une chaîne séparée par des tubes.

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

Brut

Désactive le formatage spécifique à la source de données, tel que les guillemets simples dans une requête SQL.

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

Regex

Formate les variables comportant plusieurs valeurs dans une chaîne regex.

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

Devis unique

Formate les variables à valeurs uniques ou multiples dans une chaîne séparée par des virgules, saisit chaque valeur par \' et ' met chaque valeur entre guillemets avec. '

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

Chaîne SQL

Formate les variables à valeurs uniques ou multiples dans une chaîne séparée par des virgules, saisit chaque valeur par '' et ' met chaque valeur entre guillemets avec. '

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

Text

Met en forme les variables à valeur unique ou multiple dans leur représentation textuelle. Pour une seule variable, elle renverra simplement la représentation textuelle. Pour les variables à valeurs multiples, elle renverra la représentation textuelle combinée avec+.

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

Paramètres Query (Requête)

Formate les variables à valeurs uniques et multiples dans leur représentation des paramètres de requête. Exemple : var-foo=value1&var-foo=value2

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