Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sintaks variabel
Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 10.x.
Untuk ruang kerja Grafana yang mendukung Grafana versi 9.x, lihat. Bekerja di Grafana versi 9
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. Bekerja di Grafana versi 8
Judul panel dan kueri metrik dapat merujuk ke variabel menggunakan dua sintaks yang berbeda.
-
$varname
— Sintaks ini mudah dibaca, tetapi tidak memungkinkan Anda untuk menggunakan variabel di tengah kata.Contoh:
apps.frontend.$server.requests.count
-
${var_name}
— Gunakan sintaks ini ketika Anda ingin menggunakan variabel di tengah ekspresi. -
${var_name:<format>}
— Format ini memberi Anda kontrol lebih besar atas bagaimana Grafana menafsirkan nilai. Untuk informasi selengkapnya, lihat Opsi format variabel lanjutan, mengikuti daftar ini. -
[[varname]]
- Jangan gunakan. Sintaks ini sudah tua dan sudah usang. Ini akan dihapus dalam rilis future.
Sebelum kueri dikirim ke sumber data Anda, kueri diinterpolasi, artinya variabel diganti dengan nilai saat ini. Selama interpolasi, nilai variabel mungkin lolos agar sesuai dengan sintaks bahasa kueri dan di mana ia digunakan. Misalnya, variabel yang digunakan dalam ekspresi regex dalam kueri InfluxDB atau Prometheus akan diloloskan regex.
Opsi format variabel lanjutan
Pemformatan interpolasi variabel tergantung pada sumber data, tetapi ada beberapa situasi di mana Anda mungkin ingin mengubah format default.
Misalnya, default untuk sumber data MySQL adalah menggabungkan beberapa nilai sebagai dipisahkan koma dengan tanda kutip:. 'server01','server02'
Dalam beberapa kasus, Anda mungkin ingin memiliki string yang dipisahkan koma tanpa tanda kutip:. server01,server02
Anda dapat mewujudkannya dengan opsi pemformatan variabel lanjutan yang tercantum di bawah ini.
Sintaks umum
Sintaks: ${var_name:option}
Jika ada opsi pemformatan yang tidak valid ditentukan, maka glob
adalah opsi default/fallback.
CSV
Memformat variabel dengan beberapa nilai sebagai string yang dipisahkan koma.
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'
Didistribusikan - OpenTSDB
Memformat variabel dengan beberapa nilai dalam format khusus untuk OpenTSDB.
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'
Kutipan ganda
Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos "
di setiap nilai dengan \"
dan mengutip setiap nilai dengan. "
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'
Glob - Grafit
Memformat variabel dengan beberapa nilai menjadi gumpalan (untuk kueri Grafit).
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'
JSON
Memformat variabel dengan beberapa nilai sebagai string yang dipisahkan koma.
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'
Lucene - Elasticsearch
Memformat variabel dengan beberapa nilai dalam format Lucene untuk Elasticsearch.
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'
Kode Persentase
Memformat variabel tunggal dan multivalued untuk digunakan dalam parameter URL.
servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'
Pipa
Memformat variabel dengan beberapa nilai menjadi string yang dipisahkan pipa.
servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'
Mentah
Menonaktifkan pemformatan khusus sumber data, seperti tanda kutip tunggal dalam kueri SQL.
servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'
Regex
Memformat variabel dengan beberapa nilai menjadi string regex.
servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'
Singlequote
Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos '
di setiap nilai dengan \'
dan mengutip setiap nilai dengan. '
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"
Sqlstring
Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos '
di setiap nilai dengan ''
dan mengutip setiap nilai dengan. '
servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"
Teks
Memformat variabel tunggal dan multi-nilai ke dalam representasi teks mereka. Untuk satu variabel, itu hanya akan mengembalikan representasi teks. Untuk variabel multi-nilai, itu akan mengembalikan representasi teks yang digabungkan dengan+
.
servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"
Parameter kueri
Memformat variabel tunggal dan multi-nilai ke dalam representasi parameter kueri mereka. Contoh: var-foo=value1&var-foo=value2
servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"