Sintassi variabile - Grafana gestito da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sintassi variabile

Questo argomento della documentazione è progettato per le aree di lavoro Grafana che supportano la versione 10.x di Grafana.

Per le aree di lavoro Grafana che supportano la versione 9.x di Grafana, vedere. Lavorare nella versione 9 di Grafana

Per le aree di lavoro Grafana che supportano la versione 8.x di Grafana, vedere. Funzionamento in Grafana versione 8

I titoli dei pannelli e le query metriche possono fare riferimento a variabili utilizzando due sintassi diverse.

  • $varname— Questa sintassi è facile da leggere, ma non consente di utilizzare una variabile al centro di una parola.

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

  • ${var_name}— Utilizzate questa sintassi quando desiderate utilizzare una variabile al centro di un'espressione.

  • ${var_name:<format>}— Questo formato offre un maggiore controllo sul modo in cui Grafana interpreta i valori. Per ulteriori informazioni, consulta Opzioni avanzate di formato variabile, che segue questo elenco.

  • [[varname]]— Non utilizzare. Questa sintassi è vecchia ed è obsoleta. Verrà rimosso in una versione futura.

Prima che le query vengano inviate alla fonte dati, la query viene interpolata, il che significa che la variabile viene sostituita con il valore corrente. Durante l'interpolazione, è possibile che il valore della variabile venga ignorato per conformarsi alla sintassi del linguaggio di interrogazione e del luogo in cui viene utilizzato. Ad esempio, una variabile utilizzata in un'espressione regex in una query InfluxDB o Prometheus verrà escapitata con regex.

Opzioni avanzate di formato variabile

La formattazione dell'interpolazione delle variabili dipende dall'origine dei dati, ma ci sono alcune situazioni in cui potresti voler modificare la formattazione predefinita.

Ad esempio, l'impostazione predefinita per l'origine dati MySQL consiste nell'unire più valori separati da virgole da virgole:. 'server01','server02' In alcuni casi, potresti voler avere una stringa separata da virgole senza virgolette:. server01,server02 Puoi farlo accadere con le opzioni avanzate di formattazione delle variabili elencate di seguito.

Sintassi generale

Sintassi: ${var_name:option}

Se viene specificata un'opzione di formattazione non valida, si tratta dell'opzione glob default/fallback.

CSV

Formatta le variabili con più valori come una stringa separata da virgole.

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

Distribuito - OpenTSDB

Formatta le variabili con più valori in formato personalizzato per OpenTSDB.

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

Virgolette doppie

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade " in ogni valore per e cita ogni valore con. \" "

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

Glob - Grafite

Formatta le variabili con più valori in un glob (per le query Graphite).

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

JSON

Formatta le variabili con più valori come una stringa separata da virgole.

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

Lucene - Elasticsearch

Formatta le variabili con più valori in formato Lucene per Elasticsearch.

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

Codice percentuale

Formatta variabili singole e multivalore da utilizzare nei parametri URL.

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

Tubo

Formatta le variabili con più valori in una stringa separata da pipe.

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

Raw

Disattiva la formattazione specifica dell'origine dati, ad esempio le virgolette singole in una query SQL.

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

Espressione regolare

Formatta le variabili con più valori in una stringa regex.

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

Citazione singola

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade ' in ogni valore per e cita ogni valore con. \' '

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

Sqlstring

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade ' in ogni valore per e cita ogni valore con. '' '

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

Text (Testo)

Formatta le variabili a valore singolo e multivalore nella loro rappresentazione testuale. Per una singola variabile, restituirà solo la rappresentazione del testo. Per le variabili multivalore, restituirà la rappresentazione del testo combinata con. +

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

Parametri di query

Formatta le variabili a valore singolo e multivalore nella loro rappresentazione dei parametri di interrogazione. Esempio: var-foo=value1&var-foo=value2

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