Anda dapat menggunakan variabel untuk mengubah nilai dalam kueri secara dinamis. Variabel menggunakan sintaks ${{variable_name|default_value}} atau ${{variable_name|default_value|prefix}} sebagai placeholder. Dengan mendefinisikan variabel, Anda dapat memfilter data pada satu grafik atau seluruh dasbor tanpa mengubah pernyataan kueri yang mendasarinya. Topik ini menjelaskan cara memfilter seluruh dasbor dan grafik individual.
Filter dasbor
Jenis filter
Setiap grafik didasarkan pada pernyataan kueri. Anda dapat menambahkan filter ke dasbor untuk mengubah kondisi kueri semua grafik sekaligus, sehingga menyaring data yang ditampilkan di seluruh dasbor. Simple Log Service (SLS) mendukung jenis filter berikut:
-
Filter: Menyaring data berdasarkan pasangan kunci-nilai field log
key:value. Filter ini mempersempit hasil kueri dengan mencari log yang berisi atau tidak berisi pasangan kunci-nilai tertentu. Misalnya, untuk melihat jumlah tampilan halaman (PVs) berdasarkan metode permintaan yang berbeda, Anda dapat menambahkan filter dengan item daftar dinamis. -
Variable replacement: Mengganti placeholder dalam pernyataan kueri dengan nilai yang dipilih pengguna. Pertama, tambahkan variabel ke pernyataan kueri grafik Anda. Kemudian, buat filter yang menyediakan nilai untuk variabel tersebut. Hal ini memungkinkan Anda mengubah kueri secara dinamis tanpa mengeditnya langsung. Misalnya, Anda dapat menggunakannya untuk melihat PVs dalam interval waktu yang berbeda, seperti setiap 10, 60, atau 600 detik.
-
Metric filter: Menyaring data deret waktu berdasarkan label dan nilai metrik. Setelah mengumpulkan data metrik, Anda dapat menambahkan metric filter ke dasbor Anda. Anda dapat menentukan beberapa kondisi, yang digabungkan dengan operasi logika AND.
Filter standar
Variable replacement filter
Metric filter
Filter grafik dengan variable replacement
Anda dapat menerapkan variable replacement ke satu grafik. SLS menambahkan filter di pojok kiri atas grafik, memungkinkan Anda menyaring datanya secara independen. Contoh berikut menunjukkan cara mengonfigurasi tabel untuk menampilkan PV dalam interval waktu yang berbeda.
1. Konfigurasikan penggantian variabel
-
Pada halaman pengeditan grafik, konfigurasikan rentang waktu, Logstore, dan pernyataan kueri yang berisi variabel.
Pernyataan kueri untuk melihat jumlah tampilan halaman (PV) dalam interval waktu yang berbeda adalah sebagai berikut, di mana
${{date|60}}menetapkan variabeldatedengan nilai default 60.* | select __time__ - __time__ % ${{date | 60}} as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
-
Konfigurasikan pengaturan variable replacement.
-
Di sisi kanan halaman pengeditan grafik, pilih Table sebagai jenis grafik, lalu klik .

-
Pada kotak dialog Variable replacement, atur Variable key ke
datedan Display Name keTime. Lalu, definisikan nilai-nilainya. Misalnya, buat dua opsi dengan nilai Display Namemindanhourserta nilai variabel yang sesuai yaitu60dan3600.
-
-
Di pojok kanan atas halaman, klik OK. Lalu, klik Save. Pada kotak dialog Save Dashboard, klik Confirm.
2. Filter grafik
Setelah Anda menyimpan pengaturan, filter muncul di pojok kiri atas grafik. Saat Anda memilih nilai, SLS menjalankan kueri dengan nilai baru tersebut. Misalnya, jika Anda memilih hour, kueri yang dieksekusi adalah:
(*)| select __time__ - __time__ % 3600 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000

Gunakan variabel dengan interaction events
Saat Anda mengonfigurasi interaction event untuk grafik, Anda dapat menetapkan variabel. Saat Anda mengklik nilai pada grafik yang memicu event tersebut, variabel secara otomatis diperbarui ke nilai tersebut. Hal ini memungkinkan Anda menghubungkan grafik dan melakukan analisis lebih lanjut. Untuk contoh, lihat Contoh konfigurasi.

Penggunaan lanjutan variabel dengan prefix
Saat memfilter dasbor atau grafik, Anda dapat menggunakan sintaks ${{variable_name|default_value|prefix}} untuk menyertakan prefix.
-
Jika tidak ada nilai yang dipilih untuk variabel, kueri menggunakan nilai default.
-
Jika nilai dipilih, kueri menggabungkan prefix dan nilai yang dipilih.
Filter dasbor berdasarkan metode HTTP (http_method)
Format variabel
-
Format variabel:
${{method_filter|http_method in ('GET','POST')|http_method =}} -
Pernyataan kueri:
(*)|select status, count(1) as err_count where ${{method_filter|request_method in ('GET','POST')|request_method =}} and status>=400 group by status-
Saat tidak ada nilai variabel yang ditetapkan: Kueri menghitung distribusi error untuk permintaan GET dan POST dengan kode status 400 atau lebih tinggi. Pernyataan kueri yang dieksekusi adalah:
(*)|select status, count(1) as err_count where request_method in ('GET','POST') and status>=400 group by status -
Saat nilai variabel diatur ke
'DELETE': Kueri menganalisis status error untuk metodeDELETE. Kueri yang dieksekusi adalah:(*)| select status, count(1) as err_count where request_method ='DELETE' and status>=400 group by status
-
Prosedur
-
Konfigurasikan grafik: Di sisi kiri halaman, konfigurasikan rentang waktu, Logstore, dan pernyataan kueri yang berisi variabel. Di sisi kanan, pilih jenis grafik. Klik Apply untuk melihat pratinjau grafik, lalu klik OK untuk menyimpannya.

-
Konfigurasikan filter variabel: Pada panel Filter, tambahkan nilai yang dapat dipilih untuk variabel
method_filter, seperti yang ditunjukkan pada gambar berikut.
-
Filter dasbor: Klik filter dan pilih
DELETE. Dasbor diperbarui berdasarkan pernyataan kueri berikut:(*)| select status, count(1) as err_count where request_method ='DELETE' and status>=400 group by status
Filter grafik berdasarkan ambang batas request_time
Format variabel
-
Format variabel:
${{slow_query|request_time>50|request_time>}} -
Pernyataan kueri:
(*)| select request_uri, avg(request_time) as avg_time where ${{slow_query|request_time>50|request_time>}} group by request_uri order by avg_time desc-
Saat tidak ada nilai variabel yang ditetapkan: Kueri menyaring API dengan waktu permintaan lebih dari 50 ms dan mengurutkannya berdasarkan waktu permintaan rata-rata secara menurun. Pernyataan kueri yang dieksekusi adalah:
(*)| select request_uri, avg(request_time) as avg_time where request_time>50 group by request_uri order by avg_time desc -
Saat nilai variabel diatur ke
1000ms: Kueri menganalisis API lambat yang membutuhkan waktu lebih dari 1.000 ms. Kueri yang dieksekusi adalah:(*)| select request_uri, avg(request_time) as avg_time where request_time>1000 group by request_uri order by avg_time desc
-
Prosedur
-
Konfigurasikan grafik: Pada halaman pengeditan grafik, konfigurasikan rentang waktu, Logstore, dan pernyataan kueri yang berisi variabel.

-
Konfigurasikan variable replacement: Di sisi kanan halaman pengeditan grafik, klik Variable replacement. Pada kotak dialog Variable replacement, tambahkan nilai yang dapat dipilih untuk variabel
slow_query, seperti yang ditunjukkan pada gambar berikut.
-
Filter grafik: Klik filter di pojok kiri atas grafik. Saat Anda memilih
1000ms, grafik menampilkan statistik menggunakan kueri berikut:(*)| select request_uri, avg(request_time) as avg_time where request_time>1000 group by request_uri order by avg_time desc







