

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menambahkan dan mengelola variabel
<a name="v9-dash-variable-add"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
Untuk ruang kerja Grafana yang mendukung Grafana versi 10.x, lihat. [Bekerja di Grafana versi 10](using-grafana-v10.md)  
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. [Bekerja di Grafana versi 8](using-grafana-v8.md)

Tabel berikut mencantumkan jenis variabel yang dikirimkan bersama Grafana.


| Jenis variabel | Deskripsi | 
| --- | --- | 
|  Kueri  |  Daftar nilai yang dihasilkan kueri seperti nama metrik, nama server, sensor IDs, pusat data, dan sebagainya. Tambahkan variabel kueri.  | 
|  Khusus  |  Tentukan opsi variabel secara manual menggunakan daftar yang dipisahkan koma. Tambahkan variabel kustom.  | 
|  Kotak teks  |  Menampilkan kolom input teks gratis dengan nilai default opsional. Tambahkan variabel kotak teks.  | 
|  Konstan  |  Tentukan konstanta tersembunyi. Tambahkan variabel konstan.  | 
|  Sumber data  |  Ubah sumber data dengan cepat untuk seluruh dasbor. Tambahkan variabel sumber data.  | 
|  Interval  |  Variabel interval mewakili rentang waktu. Tambahkan variabel interval.  | 
|  Filter ad hoc  |  Filter nilai kunci yang secara otomatis ditambahkan ke semua kueri metrik untuk sumber data (Prometheus, Loki, InfluxDB, dan Elasticsearch saja). Tambahkan filter ad hoc.  | 
|  Variabel global  |  Variabel bawaan yang dapat digunakan dalam ekspresi di editor kueri. Lihat variabel global.  | 
|  Variabel yang dirantai  |  Kueri variabel dapat berisi variabel lain. Lihat variabel Chained.  | 

## Memasuki opsi Umum
<a name="v9-dash-variable-options"></a>

Anda harus memasukkan opsi umum untuk semua jenis variabel yang Anda buat.

**Untuk memasukkan opsi umum**

1. Arahkan ke dasbor yang ingin Anda buat variabel dan pilih ikon **Pengaturan Dasbor** (roda gigi) di bagian atas halaman.

1. Pada tab **Variables**, pilih **New**.

1. Masukkan **Nama** untuk variabel.

1. Dalam daftar **Type**, pilih **Query**.

1. (Opsional) Di **Label**, masukkan nama tampilan dropdown variabel.

   Jika Anda tidak memasukkan nama tampilan, maka label dropdown adalah nama variabel.

1. Pilih opsi **Sembunyikan**:
   + **Tidak ada pilihan (kosong):** Variabel dropdown menampilkan variabel **Nama** atau nilai **Label**.
   + **Label:** Variabel dropdown hanya menampilkan nilai variabel yang dipilih dan panah bawah.
   + **Variabel:** Tidak ada dropdown variabel yang ditampilkan di dasbor.

## Menambahkan variabel kueri
<a name="v9-dash-variable-add-query"></a>

Variabel kueri memungkinkan Anda menulis kueri sumber data yang dapat mengembalikan daftar nama metrik, nilai tag, atau kunci. Misalnya, variabel kueri mungkin mengembalikan daftar nama server, sensor IDs, atau pusat data. Nilai variabel berubah saat mereka secara dinamis mengambil opsi dengan kueri sumber data.

Variabel kueri umumnya hanya didukung untuk string. Jika kueri Anda mengembalikan angka atau tipe data lainnya, Anda mungkin perlu mengonversinya menjadi string untuk menggunakannya sebagai variabel. Untuk sumber data Azure, misalnya, Anda dapat menggunakan fungsi [tostring](https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/tostringfunction) untuk tujuan ini.

Ekspresi kueri dapat berisi referensi ke variabel lain dan pada dasarnya membuat variabel terkait. Grafana mendeteksi ini dan secara otomatis menyegarkan variabel ketika salah satu variabel tertaut berubah.

**catatan**  
Ekspresi kueri berbeda untuk setiap sumber data. Untuk informasi selengkapnya, lihat dokumentasi untuk [sumber data](AMG-data-sources.md) Anda.

**Untuk menambahkan variabel kueri**

1. Masukkan opsi umum, seperti di atas.

1. Dalam daftar **Sumber data**, pilih sumber data target untuk kueri.

1. Dalam daftar **Refresh**, pilih kapan variabel harus memperbarui opsi.
   + Saat **Memuat Dasbor:** Menanyakan sumber data setiap kali dasbor dimuat. Ini memperlambat pemuatan dasbor, karena kueri variabel perlu diselesaikan sebelum dasbor dapat diinisialisasi.
   + **Pada Perubahan Rentang Waktu:** Menanyakan sumber data saat rentang waktu dasbor berubah. Hanya gunakan opsi ini jika kueri opsi variabel Anda berisi filter rentang waktu atau bergantung pada rentang waktu dasbor.

1. Di bidang **Query**, masukkan kueri.
   + Bidang kueri bervariasi sesuai dengan sumber data Anda. Beberapa sumber data memiliki editor kueri khusus.
   + Jika Anda membutuhkan lebih banyak ruang dalam editor kueri bidang input tunggal, arahkan kursor Anda ke garis di sudut kanan bawah bidang dan seret ke bawah untuk memperluas.

1. (Opsional) Di bidang **Regex**, ketik ekspresi regex untuk memfilter atau menangkap bagian tertentu dari nama yang dikembalikan oleh kueri sumber data Anda. Untuk melihat contoh, lihat [Filter variabel dengan regex](#v9-dash-variable-add-filter).

1. Dalam daftar **Urutkan**, pilih urutan pengurutan untuk nilai yang akan ditampilkan dalam daftar dropdown. Opsi default, **Dinonaktifkan**, berarti urutan opsi yang dikembalikan oleh kueri sumber data Anda akan digunakan.

1. (Opsional) Masukkan [Pilihan Pilihan](#v9-dash-variable-add-selection).

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

## Menambahkan variabel khusus
<a name="v9-dash-variable-add-custom"></a>

Gunakan variabel *kustom* untuk nilai yang tidak berubah, seperti angka atau string.

Misalnya, jika Anda memiliki nama server atau nama Wilayah yang tidak pernah berubah, Anda mungkin ingin membuatnya sebagai variabel kustom daripada variabel kueri. Karena mereka tidak berubah, Anda dapat menggunakannya dalam [variabel berantai daripada variabel](#v9-dash-variable-add-chained) kueri lainnya. Itu akan mengurangi jumlah kueri yang harus dikirim Grafana ketika variabel berantai diperbarui.

**Untuk menambahkan variabel kustom**

1. Masukkan opsi umum, seperti di atas.

1. Dalam 

   **Nilai dipisahkan oleh daftar koma**, masukkan nilai untuk variabel ini dalam daftar dipisahkan koma. Anda dapat menyertakan angka, string, atau pasangan kunci-nilai yang dipisahkan oleh spasi dan titik dua. Misalnya, `key1 : value1,key2 : value2`.

1. (Opsional) Masukkan [Pilihan Pilihan](#v9-dash-variable-add-selection).

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

## Menambahkan variabel kotak teks
<a name="v9-dash-variable-add-text"></a>

Variabel *kotak teks* menampilkan bidang input teks gratis dengan nilai default opsional. Ini adalah variabel yang paling fleksibel, karena Anda dapat memasukkan nilai apa pun. Gunakan jenis variabel ini jika Anda memiliki metrik dengan kardinalitas tinggi atau jika Anda ingin memperbarui beberapa panel di dasbor secara bersamaan.

**Untuk menambahkan variabel kotak teks**

1. Masukkan opsi umum, seperti di atas.

1. (Opsional) Di bidang **Nilai default**, pilih nilai default untuk variabel. Jika Anda tidak memasukkan apa pun di bidang ini, Grafana menampilkan kotak teks kosong bagi pengguna untuk mengetik teks.

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

## Menambahkan variabel konstan
<a name="v9-dash-variable-add-constant"></a>

Variabel *konstan* memungkinkan Anda untuk menentukan konstanta tersembunyi. Ini berguna untuk awalan jalur metrik untuk dasbor yang ingin Anda bagikan. Saat Anda mengekspor dasbor, variabel konstan dikonversi ke opsi impor.

Variabel konstan *tidak* fleksibel. Setiap variabel konstan hanya memiliki satu nilai, dan tidak dapat diperbarui kecuali Anda memperbarui pengaturan variabel.

Variabel konstan berguna ketika Anda memiliki nilai kompleks yang perlu Anda sertakan dalam kueri tetapi tidak ingin mengetik ulang di setiap kueri. Misalnya, jika Anda memiliki jalur server yang disebut`i-0b6a61efe2ab843gg`, maka Anda bisa menggantinya dengan variabel yang disebut`$path_gg`.

**Untuk menambahkan variabel konstan**

1. Masukkan opsi umum, seperti di atas.

1. Di bidang **Nilai**, masukkan nilai variabel. Anda dapat memasukkan huruf, angka, dan simbol. Anda bahkan dapat menggunakan wildcard jika Anda menggunakan [format mentah](https://grafana.com/docs/grafana/latest/dashboards/variables/variable-syntax/#raw).

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

## Menambahkan variabel sumber data
<a name="v9-dash-variable-add-datasource"></a>

Variabel *sumber data* memungkinkan Anda mengubah sumber data dengan cepat untuk seluruh dasbor. Mereka berguna jika Anda memiliki beberapa contoh sumber data, mungkin di lingkungan yang berbeda.

**Untuk menambahkan variabel sumber data**

1. Masukkan opsi umum, seperti di atas.

1. Dalam daftar **Jenis**, pilih sumber data target untuk variabel.

1. (Opsional) Dalam **filter nama Instance**, masukkan filter regex untuk contoh sumber datanya untuk dipilih dalam daftar dropdown nilai variabel. Biarkan bidang ini kosong untuk menampilkan semua instance.

1. (Opsional) Masukkan [Pilihan Pilihan](#v9-dash-variable-add-selection).

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

## Menambahkan variabel interval
<a name="v9-dash-variable-add-internal"></a>

Gunakan variabel *interval* untuk mewakili rentang waktu seperti`1m`,`1h`, atau`1d`. Anda dapat menganggapnya sebagai *grup di seluruh dasbor berdasarkan* perintah waktu. Variabel interval mengubah cara data dikelompokkan dalam visualisasi. Anda juga dapat menggunakan Opsi Otomatis untuk mengembalikan sejumlah titik data per rentang waktu.

Anda dapat menggunakan variabel interval sebagai parameter untuk mengelompokkan berdasarkan waktu (untuk InfluxDB), interval histogram tanggal (untuk Elasticsearch), atau sebagai parameter fungsi ringkasan (untuk Grafit).

**Untuk menambahkan variabel interval**

1. Masukkan opsi umum, seperti di atas.

1. Di bidang **Nilai**, masukkan interval rentang waktu yang ingin Anda tampilkan di daftar dropdown variabel. Unit waktu berikut didukung:`s (seconds)`,,`m (minutes)`,`h (hours)`, `d (days)``w (weeks)`,`M (months)`, dan`y (years)`. Anda juga dapat menerima atau mengedit nilai default:`1m,10m,30m,1h,6h,12h,1d,7d,14d,30d`.

1. (Opsional) Nyalakan **Opsi Otomatis** jika Anda ingin menambahkan `auto` opsi ke daftar. Opsi ini memungkinkan Anda untuk menentukan berapa kali rentang waktu saat ini harus dibagi untuk menghitung rentang `auto` waktu saat ini. Jika Anda menyalakannya, maka dua opsi lagi muncul:
   + **Jumlah langkah -** Pilih berapa kali rentang waktu saat ini akan dibagi untuk menghitung nilainya, mirip dengan opsi kueri **poin data maks**. Misalnya, jika rentang waktu yang terlihat saat ini adalah 30 menit, maka `auto` interval mengelompokkan data menjadi 30 peningkatan satu menit. Nilai default adalah 30 langkah.
   + **Interval Min -** Ambang minimum di bawah mana interval hitungan langkah tidak akan membagi waktu. Untuk melanjutkan contoh 30 menit, jika interval minimum diatur ke 2m, maka Grafana akan mengelompokkan data menjadi 15 kenaikan dua menit.

1. Di **Pratinjau nilai**, Grafana menampilkan daftar nilai variabel saat ini. Tinjau mereka untuk memastikan mereka sesuai dengan apa yang Anda harapkan.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

**Contoh variabel interval**

Contoh berikut menunjukkan variabel template `myinterval` dalam fungsi Graphite:

```
summarize($myinterval, sum, false)
```

## Menambahkan filter ad hoc
<a name="v9-dash-variable-add-adhoc"></a>

Filter *ad hoc memungkinkan Anda menambahkan filter* nilai kunci yang secara otomatis ditambahkan ke semua kueri metrik yang menggunakan sumber data yang ditentukan. Tidak seperti variabel lain, Anda tidak menggunakan filter ad hoc dalam kueri. Sebagai gantinya, Anda menggunakan filter ad hoc untuk menulis filter untuk kueri yang ada.

**catatan**  
Variabel filter ad hoc hanya berfungsi dengan sumber data Prometheus, Loki, InfluxDB, dan Elasticsearch.

1. Masukkan opsi umum, seperti di atas.

1. Dalam daftar **Sumber data**, pilih sumber data target.

1. Pilih **Tambah** untuk menambahkan variabel ke dasbor.

**Buat filter ad hoc**

Filter ad hoc adalah salah satu opsi variabel paling kompleks dan fleksibel yang tersedia. Alih-alih daftar opsi variabel reguler, variabel ini memungkinkan Anda membuat kueri ad hoc di seluruh dasbor. Filter yang Anda terapkan dengan cara ini diterapkan ke semua panel di dasbor.

## Konfigurasikan opsi pemilihan variabel
<a name="v9-dash-variable-add-selection"></a>

**Pilihan Pilihan** adalah fitur yang dapat Anda gunakan untuk mengelola pilihan opsi variabel. Semua opsi pilihan adalah opsional, dan mereka mati secara default.

### Variabel multi-nilai
<a name="v9-dash-variable-add-selection-multi"></a>

Menginterpolasi variabel dengan beberapa nilai yang dipilih rumit karena tidak langsung bagaimana memformat beberapa nilai menjadi string yang valid dalam konteks tertentu di mana variabel digunakan. Grafana mencoba menyelesaikan ini dengan mengizinkan setiap plugin sumber data untuk memberi tahu mesin interpolasi template format apa yang akan digunakan untuk beberapa nilai.

**catatan**  
Opsi **Kustom semua nilai** pada variabel harus kosong agar Grafana memformat semua nilai menjadi satu string. Jika dibiarkan kosong, maka Grafana menggabungkan (menambahkan bersama) semua nilai dalam kueri. Misalnya, `value1,value2,value3`. Jika `all` nilai kustom digunakan, maka sebaliknya nilainya akan menjadi `*` atau`all`.

**Variabel multi-nilai dengan sumber data Grafit**

Grafit menggunakan ekspresi glob. *Variabel dengan beberapa nilai akan, dalam hal ini, diinterpolasi `{host1,host2,host3}` seolah-olah nilai variabel saat ini adalah *host1, host2**, dan host3*.*

**Variabel multi-nilai dengan sumber data Prometheus atau InfluxDB**

InfluxDB dan Prometheus menggunakan ekspresi regex, sehingga variabel yang sama akan diinterpolasi sebagai. `(host1|host2|host3)` Setiap nilai juga akan lolos dari regex. Jika tidak, nilai dengan karakter kontrol regex akan merusak ekspresi regex.

**Variabel multi-nilai dengan sumber data Elastis**

Elasticsearch menggunakan sintaks kueri lucene, sehingga variabel yang sama akan diformat sebagai. `("host1" OR "host2" OR "host3")` Dalam hal ini, setiap nilai harus diloloskan sehingga nilainya hanya berisi kata-kata kontrol lucene dan tanda kutip.

**Memecahkan masalah variabel multi-nilai**

Pelarian dan pemformatan otomatis dapat menyebabkan masalah dan sulit untuk memahami logika di baliknya. Khusus untuk InfluxDB dan Prometheus di mana penggunaan sintaks regex mengharuskan variabel digunakan dalam konteks operator regex.

Jika Anda tidak ingin Grafana melakukan pelolosan dan pemformatan regex otomatis ini, maka Anda harus melakukan salah satu hal berikut:
+ Matikan **opsi **Multi-nilai** atau Sertakan Semua**.
+ Gunakan [format variabel mentah](https://grafana.com/docs/grafana/latest/dashboards/variables/variable-syntax/#raw).

### Sertakan Semua opsi
<a name="v9-dash-variable-add-multi-all"></a>

Grafana menambahkan `All` opsi ke daftar dropdown variabel. Jika pengguna memilih opsi ini, maka semua opsi variabel dipilih.

### Kustom semua nilai
<a name="v9-dash-variable-add-multi-custom"></a>

Opsi ini hanya terlihat jika **opsi Sertakan Semua** dipilih.

Masukkan sintaks regex, gumpalan, atau lucene di bidang **Kustom semua nilai** untuk menentukan nilai opsi. `All`

Secara default `All` nilai mencakup semua opsi dalam ekspresi gabungan. Ini bisa menjadi sangat panjang dan dapat memiliki masalah kinerja. Terkadang lebih baik untuk menentukan nilai semua kustom, seperti regex wildcard.

Untuk memiliki sintaks regex, gumpalan, atau lucene khusus di opsi **Kustom semua nilai**, itu tidak pernah lolos sehingga Anda harus memikirkan nilai yang valid untuk sumber data Anda.

## Variabel global
<a name="v9-dash-variable-add-global"></a>

Grafana memiliki variabel bawaan global yang dapat digunakan dalam ekspresi di editor kueri. Topik ini mencantumkannya dalam urutan abjad dan mendefinisikannya. Variabel ini berguna dalam kueri, tautan dasbor, tautan panel, dan tautan data.

**\$1 \$1\$1dasbor**

Variabel ini adalah nama dasbor saat ini.

**\$1\$1\$1from dan \$1\$1\$1to**

Grafana memiliki dua variabel rentang waktu bawaan: `$__from` dan. `$__to` Mereka saat ini selalu diinterpolasi sebagai milidetik epoch secara default, tetapi Anda dapat mengontrol pemformatan tanggal.


| Sintaksis | Contoh hasil | Deskripsi | 
| --- | --- | --- | 
|  `${__from}`  |  1594671549254  |  Epoch unix milidetik  | 
|  `${__from:date}`  |  2020-07-13T 20:19:09.254 Z  |  Tidak ada argumen, default ke ISO 8601/RFC 3339  | 
|  `${__from:date:iso}`  |  2020-07-13T 20:19:09.254 Z  |  ISO 8601/RFC 3339  | 
|  `${__from:date:seconds}`  |  1594671549  |  Epoch detik Unix  | 
|  `${__from:date:YYYY-MM}`  |  2020-07  |  Format tanggal kustom apa pun yang tidak menyertakan karakter:  | 

Sintaks di atas juga berfungsi dengan`${__to}`.

**\$1 \$1\$1interval**

*Anda dapat menggunakan `$__interval` variabel sebagai parameter untuk mengelompokkan berdasarkan waktu (untuk InfluxDB, MySQL, Postgres, MSSQL), interval histogram Tanggal (untuk Elasticsearch), atau sebagai parameter fungsi ringkasan (untuk Graphite).*

Grafana secara otomatis menghitung interval yang dapat digunakan untuk mengelompokkan berdasarkan waktu dalam kueri. Ketika ada lebih banyak titik data daripada yang dapat ditampilkan pada grafik, kueri dapat dibuat lebih efisien dengan mengelompokkan dengan interval yang lebih besar. Misalnya, jika Anda melihat grafik data senilai 3 bulan, Anda mungkin tidak dapat melihat detail pada tingkat menit. Pengelompokan berdasarkan jam atau hari membuat kueri lebih efisien tanpa mempengaruhi apa yang ditunjukkan grafik. `$__interval`Itu dihitung menggunakan rentang waktu dan lebar grafik (jumlah piksel).

Perhitungan Perkiraan: `(to - from) / resolution`

Misalnya, ketika rentang waktu adalah 1 jam dan grafik layar penuh, maka interval dapat dihitung menjadi `2m` - titik dikelompokkan dalam interval 2 menit. Jika rentang waktu 6 bulan dan grafiknya layar penuh, maka intervalnya mungkin `1d` (1 hari) - poin dikelompokkan berdasarkan hari.

Dalam sumber data InfluxDB, variabel warisan `$interval` adalah variabel yang sama. `$__interval`harus digunakan sebagai gantinya.

Sumber data InfluxDB dan Elasticsearch memiliki `Group by time interval` bidang yang digunakan untuk membuat kode keras interval atau untuk menetapkan batas minimum untuk `$__interval` variabel (dengan menggunakan sintaks ->). `>` `>10m`

**\$1 \$1\$1interval\$1ms**

Variabel ini adalah `$__interval` variabel dalam milidetik, bukan string yang diformat interval waktu. Misalnya, jika `$__interval` adalah `20m` maka `$__interval_ms` adalah`1200000`.

**\$1\$1\$1org**

Variabel ini adalah ID dari organisasi saat ini. `${__org.name}`adalah nama organisasi saat ini.

**\$1 \$1\$1pengguna**

`${__user.id}`adalah ID pengguna saat ini. `${__user.login}`adalah pegangan login dari pengguna saat ini. `${__user.email}`adalah email untuk pengguna saat ini.

**\$1 \$1\$1kisaran**

Saat ini hanya didukung untuk sumber data Prometheus dan Loki. Variabel ini mewakili rentang untuk dasbor saat ini. Itu dihitung oleh`to - from`. Ini memiliki milidetik dan representasi kedua disebut `$__range_ms` dan`$__range_s`.

**\$1 \$1\$1rate\$1interval**

Saat ini hanya didukung untuk sumber data Prometheus. `$__rate_interval`Variabel dimaksudkan untuk digunakan dalam fungsi laju.

**\$1 TimeFilter atau \$1 \$1\$1TimeFilter**

`$timeFilter`Variabel mengembalikan rentang waktu yang dipilih saat ini sebagai ekspresi. Misalnya, `Last 7 days` ekspresi interval rentang waktu adalah`time > now() - 7d`.

Ini digunakan di beberapa tempat, termasuk:
+ Klausul WHERE untuk sumber data InfluxDB. Grafana menambahkannya secara otomatis ke kueri InfluxDB saat dalam mode Query Editor. Anda dapat menambahkannya secara manual dalam mode Editor Teks:`WHERE $timeFilter`.
+ Kueri log Analytics di sumber data Azure Monitor.
+ Kueri SQL di MySQL, Postgres, dan MSSQL.
+ `$__timeFilter`Variabel ini digunakan dalam sumber data MySQL.

## Variabel yang dirantai
<a name="v9-dash-variable-add-chained"></a>

*Variabel berantai*, juga disebut *variabel terkait atau variabel* *bersarang, adalah variabel* kueri dengan satu atau lebih variabel lain dalam kueri variabelnya. Bagian ini menjelaskan cara kerja variabel berantai dan menyediakan tautan ke dasbor contoh yang menggunakan variabel berantai.

Kueri variabel berantai berbeda untuk setiap sumber data, tetapi premisnya sama untuk semua. Anda dapat menggunakan kueri variabel berantai di sumber data apa pun yang memungkinkan mereka.

Dasbor templat tertaut yang sangat kompleks dimungkinkan, sedalam 5 atau 10 level. Secara teknis, tidak ada batasan seberapa dalam atau kompleks Anda dapat pergi, tetapi semakin banyak tautan yang Anda miliki, semakin besar beban kueri.

**Praktik dan kiat terbaik**

Praktik berikut akan membuat dasbor dan variabel Anda lebih mudah digunakan.

**Membuat variabel terkait baru**
+ Variabel rantai membuat parent/child dependensi. Anda dapat membayangkan mereka sebagai tangga atau pohon.
+ Cara termudah untuk membuat variabel berantai baru adalah dengan menyalin variabel yang ingin Anda dasarkan pada yang baru. Dalam daftar variabel, klik ikon **variabel Duplikat** di sebelah kanan entri variabel untuk membuat salinan. Anda kemudian dapat menambahkan ke kueri untuk variabel induk.
+ Variabel baru yang dibuat dengan cara ini muncul di bagian bawah daftar. Anda mungkin perlu menyeretnya ke posisi yang berbeda dalam daftar untuk memasukkannya ke dalam urutan logis.

**Urutan variabel**

Anda dapat mengubah urutan variabel dalam daftar variabel dasbor dengan mengklik panah atas dan bawah di sisi kanan setiap entri. Grafana mencantumkan dropdown variabel dari kiri ke kanan sesuai dengan daftar ini, dengan variabel di bagian atas di paling kiri.
+ Buat daftar variabel yang tidak memiliki dependensi di bagian atas, sebelum variabel anak mereka.
+ Setiap variabel harus mengikuti yang bergantung padanya.
+ Ingat tidak ada indikasi di UI variabel mana yang memiliki hubungan ketergantungan. Buat daftar variabel dalam urutan logis untuk memudahkan pengguna lain (dan diri Anda sendiri).

**Pertimbangan kompleksitas**

Semakin banyak lapisan ketergantungan yang Anda miliki dalam variabel, semakin lama waktu yang dibutuhkan untuk memperbarui dasbor setelah Anda mengubah variabel.

Misalnya, jika Anda memiliki serangkaian empat variabel tertaut (negara, Wilayah, server, metrik) dan Anda mengubah nilai variabel root (negara), maka Grafana harus menjalankan kueri untuk semua variabel dependen sebelum memperbarui visualisasi di dasbor.

## Kelola variabel
<a name="v9-dash-variable-add-manage"></a>

Halaman variabel memungkinkan Anda [menambahkan](https://grafana.com/docs/grafana/latest/dashboards/variables/add-template-variables/) variabel dan mengelola variabel yang ada. Hal ini juga memungkinkan Anda untuk [memeriksa](https://grafana.com/docs/grafana/latest/dashboards/variables/inspect-variable/) variabel dan mengidentifikasi apakah variabel sedang direferensikan (atau digunakan) dalam variabel lain atau dashboard.

**Pindah:** Anda dapat memindahkan variabel ke atas atau ke bawah daftar menggunakan drag and drop.

**Clone:** Untuk mengkloning variabel, klik ikon klon dari kumpulan ikon di sebelah kanan. Ini menciptakan salinan variabel dengan nama variabel asli diawali dengan`copy_of_`.

**Hapus:** Untuk menghapus variabel, klik ikon sampah dari kumpulan ikon di sebelah kanan.

## Filter variabel dengan regex
<a name="v9-dash-variable-add-filter"></a>

Menggunakan opsi Regex Query, Anda memfilter daftar opsi yang dikembalikan oleh kueri variabel atau memodifikasi opsi yang dikembalikan.

Halaman ini menunjukkan cara menggunakan regex ke filter/modify nilai dalam dropdown variabel.

Menggunakan Opsi Kueri Regex, Anda memfilter daftar opsi yang dikembalikan oleh kueri Variabel atau memodifikasi opsi yang dikembalikan. Untuk informasi selengkapnya, lihat panduan Mozilla tentang [ekspresi Reguler](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions).

Contoh berikut menunjukkan pemfilteran pada daftar opsi berikut

```
backend_01
backend_02
backend_03
backend_04
```

**Filter sehingga hanya opsi yang diakhiri dengan `01` atau `02` dikembalikan**

Regex:

```
/
(
01|02 
) 
$/
```

Hasil:

```
backend_01
backend_02
```

**Filter dan ubah opsi menggunakan grup tangkapan regex untuk mengembalikan bagian teks**

Regex:

```
/.* 
(
01|02 
)
/
```

Hasil:

```
01
02
```

**Filter dan modifikasi - Contoh Prometheus**

Daftar opsi:

```
up{instance="demo.robustperception.io:9090",job="prometheus"} 1 1521630638000
up{instance="demo.robustperception.io:9093",job="alertmanager"} 1 1521630638000
up{instance="demo.robustperception.io:9100",job="node"} 1 1521630638000
```

Regex:

```
/. *instance="
(
[^"]*
)
.*/
```

Hasil:

```
demo.robustperception.io:9090
demo.robustperception.io:9093
demo.robustperception.io:9100
```

**Filter dan modifikasi menggunakan teks bernama dan grup penangkap nilai**

Menggunakan grup tangkapan bernama, Anda dapat menangkap bagian 'teks' dan 'nilai' terpisah dari opsi yang dikembalikan oleh kueri variabel. Hal ini memungkinkan daftar dropdown variabel berisi nama ramah untuk setiap nilai yang dapat dipilih.

Misalnya, saat menanyakan metrik `node_hwmon_chip_names` Prometheus, nilainya jauh lebih ramah `chip_name` daripada nilainya. `chip` Jadi hasil query variabel berikut:

```
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_0",chip_name="enp216s0f0np0"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_1",chip_name="enp216s0f0np1"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_2",chip_name="enp216s0f0np2"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_3",chip_name="enp216s0f0np3"} 1
```

Melewati Regex berikut:

```
/chip_name="(?<text>[ ^ " ] + ) |chip=" (?<value >[ ^ " ] + )/g
```

Akan menghasilkan daftar dropdown berikut:

```
Display Name          Value
------------          -------------------------
enp216s0f0np0         0000:d7:00_0_0000:d8:00_0
enp216s0f0np1         0000:d7:00_0_0000:d8:00_1
enp216s0f0np2         0000:d7:00_0_0000:d8:00_2
enp216s0f0np3         0000:d7:00_0_0000:d8:00_3
```

Hanya `text` dan `value` menangkap nama grup yang didukung.

## 
<a name="v9-dash-variable-add-inspect"></a>

Halaman variabel memungkinkan Anda dengan mudah mengidentifikasi apakah variabel sedang direferensikan (atau digunakan) dalam variabel atau dasbor lain.

Setiap variabel yang direferensikan atau digunakan memiliki tanda centang hijau di sebelahnya, sementara variabel yang tidak direferensikan memiliki ikon peringatan oranye di sebelahnya. Selain itu, semua variabel yang direferensikan memiliki ikon ketergantungan di sebelah tanda centang hijau. Anda dapat memilih ikon untuk melihat peta ketergantungan. Peta ketergantungan dapat dipindahkan. Anda dapat memperbesar atau memperkecil dengan roda mouse atau yang setara.