Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. Bekerja di Grafana versi 8
Transformasi adalah cara ampuh untuk memanipulasi data yang dikembalikan oleh kueri sebelum sistem menerapkan visualisasi. Menggunakan transformasi, Anda dapat:
-
Ganti nama bidang
-
Bergabunglah dengan data deret waktu
-
Lakukan operasi matematika di seluruh kueri
-
Gunakan output dari satu transformasi sebagai masukan ke transformasi lain
Untuk pengguna yang mengandalkan beberapa tampilan dari kumpulan data yang sama, transformasi menawarkan metode yang efisien untuk membuat dan memelihara banyak dasbor.
Anda juga dapat menggunakan output dari satu transformasi sebagai masukan ke transformasi lain, yang menghasilkan peningkatan kinerja.
catatan
Terkadang sistem tidak dapat membuat grafik data yang ditransformasikan. Ketika itu terjadi, klik tombol Tampilan tabel di atas visualisasi untuk beralih ke tampilan tabel data. Ini dapat membantu Anda memahami hasil akhir dari transformasi Anda.
Jenis transformasi
Grafana menyediakan sejumlah cara agar Anda dapat mengubah data. Ada daftar lengkap fungsi transformasi di bawah ini.
Urutan transformasi
Ketika ada beberapa transformasi, Grafana menerapkannya dalam urutan yang terdaftar. Setiap transformasi menciptakan set hasil yang kemudian diteruskan ke transformasi berikutnya dalam pipa pemrosesan.
Urutan di mana Grafana menerapkan transformasi secara langsung berdampak pada hasil. Misalnya, jika Anda menggunakan transformasi Reduce untuk memadatkan semua hasil dari satu kolom menjadi satu nilai, maka Anda hanya dapat menerapkan transformasi ke nilai tunggal itu.
Menambahkan fungsi transformasi ke data
Langkah-langkah berikut memandu Anda dalam menambahkan transformasi ke data.
Untuk menambahkan transformasi ke panel
-
Arahkan ke panel tempat Anda ingin menambahkan satu atau lebih transformasi.
-
Pilih judul panel dan kemudian klik Edit.
-
Pilih tab Transformasi.
-
Pilih transformasi. Baris transformasi muncul di mana Anda mengonfigurasi opsi transformasi.
-
Untuk menerapkan transformasi lain, Pilih Tambahkan transformasi. Transformasi ini bekerja pada set hasil yang dikembalikan oleh transformasi sebelumnya.
Debug transformasi
Untuk melihat input dan set hasil output transformasi, pilih ikon bug di sisi kanan baris transformasi.
Set hasil input dan output dapat membantu Anda men-debug transformasi.
Hapus transformasi
Kami menyarankan Anda menghapus transformasi yang tidak Anda butuhkan. Saat Anda menghapus transformasi, Anda menghapus data dari visualisasi.
Prasyarat:
Identifikasi semua dasbor yang bergantung pada transformasi dan informasikan pengguna dasbor yang terkena dampak.
Untuk menghapus transformasi
-
Buka panel untuk mengedit.
-
Pilih tab Transformasi.
-
Pilih ikon sampah di sebelah transformasi yang ingin Anda hapus.
Fungsi transformasi
Anda dapat melakukan transformasi berikut pada data Anda.
Tambahkan bidang dari perhitungan
Gunakan transformasi ini untuk menambahkan bidang baru yang dihitung dari dua bidang lainnya. Setiap transformasi memungkinkan Anda menambahkan satu bidang baru.
-
Mode - Pilih mode:
-
Kurangi baris - Terapkan perhitungan yang dipilih pada setiap baris bidang yang dipilih secara independen.
-
Opsi biner — Terapkan operasi matematika dasar (jumlah, kalikan, dll) pada nilai dalam satu baris dari dua bidang yang dipilih.
-
-
Nama bidang - Pilih nama bidang yang ingin Anda gunakan dalam perhitungan untuk bidang baru.
-
Perhitungan - Jika Anda memilih mode Kurangi baris, maka bidang Perhitungan akan muncul. Klik di bidang untuk melihat daftar pilihan perhitungan yang dapat Anda gunakan untuk membuat bidang baru. Untuk informasi tentang perhitungan yang tersedia, lihat Jenis perhitungan.
-
Operasi — Jika Anda memilih mode opsi biner, maka bidang Operasi akan muncul. Bidang ini memungkinkan Anda melakukan operasi matematika dasar pada nilai dalam satu baris dari dua bidang yang dipilih. Anda juga dapat menggunakan nilai numerik untuk operasi biner.
-
Alias — (Opsional) Masukkan nama bidang baru Anda. Jika Anda membiarkan ini kosong, maka bidang akan diberi nama agar sesuai dengan perhitungan.
-
Ganti semua bidang — (Opsional) Pilih opsi ini jika Anda ingin menyembunyikan semua bidang lain dan hanya menampilkan bidang terhitung Anda dalam visualisasi.
Bidang gabungan
Transformasi ini menggabungkan semua bidang dari semua frame menjadi satu hasil. Pertimbangkan dua pertanyaan ini.
Kueri A:
Temp | Waktu aktif |
---|---|
15.4 |
1230233 |
Kueri B:
AQI | Kesalahan |
---|---|
3.2 |
5 |
Setelah Anda menggabungkan bidang, bingkai data akan menjadi:
Temp | Waktu aktif | AQI | Kesalahan |
---|---|---|---|
15.4 |
1230233 |
3.2 |
5 |
Config dari hasil kueri
Transformasi ini memungkinkan Anda untuk memilih satu query dan dari itu mengekstrak opsi standar seperti Min, Max, Unit dan Thresholds dan menerapkannya ke hasil query lainnya. Ini memungkinkan konfigurasi visualisasi berbasis kueri dinamis.
Jika Anda ingin mengekstrak konfigurasi unik untuk setiap baris dalam hasil kueri konfigurasi, cobalah transformasi baris ke bidang.
Pilihan
-
Config query - Pilih query yang mengembalikan data yang ingin Anda gunakan sebagai konfigurasi.
-
Terapkan ke - Pilih bidang atau seri apa yang akan diterapkan konfigurasi.
-
Terapkan ke opsi - Biasanya jenis bidang atau nama bidang regex tergantung pada opsi apa yang Anda pilih di Terapkan ke.
Mengkonversi jenis bidang
Transformasi ini mengubah jenis bidang bidang yang ditentukan.
-
Bidang - Pilih dari bidang yang tersedia
-
as — Pilih yang FieldType akan dikonversi
-
Numerik — upaya untuk membuat nilai angka
-
String - akan membuat nilai string
-
Waktu — mencoba mengurai nilai sebagai waktu
-
Akan menampilkan opsi untuk menentukan sebagai input oleh string DateFormat seperti yyyy-mm-dd atau DD MM YYYY hh: mm: ss
-
-
Boolean - akan membuat nilai-nilai Boolean
-
Misalnya kueri berikut dapat dimodifikasi dengan memilih bidang waktu, sebagai Waktu, dan Format Tanggal sebagai YYYY.
Waktu | Tandai | Nilai |
---|---|---|
7/1/2017 |
atas |
25 |
8/2/2018 |
di bawah ini |
22 |
9/2/2019 |
di bawah ini |
29 |
10/4/2020 |
atas |
22 |
Hasilnya:
Waktu | Tandai | Nilai |
---|---|---|
1/1/2017 |
atas |
25 |
1/1/2018 |
di bawah ini |
22 |
1/1/2019 |
di bawah ini |
29 |
1/1/2020 |
atas |
22 |
Filter data berdasarkan nama
Gunakan transformasi ini untuk menghapus bagian dari hasil kueri.
Grafana menampilkan bidang Identifier, diikuti oleh bidang yang dikembalikan oleh kueri Anda.
Anda dapat menerapkan filter dengan salah satu dari dua cara:
-
Masukkan ekspresi regex.
-
Pilih bidang untuk beralih pemfilteran pada bidang itu. Bidang yang difilter ditampilkan dengan teks abu-abu gelap, bidang tanpa filter memiliki teks putih.
Filter data berdasarkan kueri
Gunakan transformasi ini di panel yang memiliki beberapa kueri, jika Anda ingin menyembunyikan satu atau beberapa kueri.
Grafana menampilkan surat identifikasi kueri dalam teks abu-abu gelap. Klik pengenal kueri untuk beralih pemfilteran. Jika surat kueri berwarna putih, maka hasilnya akan ditampilkan. Jika surat kueri gelap, maka hasilnya disembunyikan.
catatan
Transformasi ini tidak tersedia untuk Graphite karena sumber data ini tidak mendukung korelasi data yang dikembalikan dengan kueri.
Filter data berdasarkan nilai
Transformasi ini memungkinkan Anda untuk memfilter data Anda secara langsung di Grafana dan menghapus beberapa titik data dari hasil kueri Anda. Anda memiliki opsi untuk menyertakan atau mengecualikan data yang cocok dengan satu atau beberapa kondisi yang Anda tentukan. Kondisi diterapkan pada bidang yang dipilih.
Transformasi ini berguna jika sumber data Anda tidak memfilter secara native berdasarkan nilai. Anda juga dapat menggunakan ini untuk mempersempit nilai untuk ditampilkan jika Anda menggunakan kueri bersama.
Kondisi yang tersedia untuk semua bidang adalah:
-
Regex - Cocokkan ekspresi regex
-
Apakah Null - Cocokkan jika nilainya nol
-
Is Not Null — Cocokkan jika nilainya tidak null
-
Sama - Cocokkan jika nilainya sama dengan nilai yang ditentukan
-
Berbeda - cocok jika nilainya berbeda dari nilai yang ditentukan
Kondisi yang tersedia untuk bidang angka adalah:
-
Lebih besar — Cocokkan jika nilainya lebih besar dari nilai yang ditentukan
-
Lower — Cocokkan jika nilainya lebih rendah dari nilai yang ditentukan
-
Lebih besar atau sama — Cocokkan jika nilainya lebih besar atau sama
-
Lebih rendah atau sama - Cocokkan jika nilainya lebih rendah atau sama
-
Rentang - Cocokkan rentang antara minimum dan maksimum yang ditentukan, termasuk min dan maks
Pertimbangkan kumpulan data berikut:
Waktu | Temperatur | Ketinggian |
---|---|---|
7/7/2020 11:34:23AM |
32 |
101 |
7/7/2020 11:34:22AM |
28 |
125 |
7/7/2020 11:34:21AM |
26 |
110 |
7/7/2020 11:34:20AM |
23 |
98 |
7/7/2020 10:32:24AM |
31 |
95 |
7/7/2020 10:31:22AM |
20 |
85 |
7/7/2020 9:30:57AM |
19 |
101 |
Jika Anda Sertakan titik data yang memiliki suhu di bawah 30° C, konfigurasi akan terlihat sebagai berikut:
-
Jenis Filter -
Include
-
Kondisi — Baris yang
Temperature
cocokLower Than 30
Dan Anda akan mendapatkan hasil berikut, di mana hanya suhu di bawah 30° C yang disertakan:
Waktu | Temperatur | Ketinggian |
---|---|---|
7/7/2020 11:34:22AM |
28 |
125 |
7/7/2020 11:34:21AM |
26 |
110 |
7/7/2020 11:34:20AM |
23 |
98 |
7/7/2020 10:31:22AM |
20 |
85 |
7/7/2020 9:30:57AM |
19 |
101 |
Anda dapat menambahkan lebih dari satu kondisi ke filter. Misalnya, Anda mungkin ingin memasukkan data hanya jika ketinggiannya lebih besar dari 100. Untuk melakukannya, tambahkan kondisi itu ke konfigurasi berikut:
-
Jenis filter -
Include
baris yangMatch All
mengkondisikan -
Kondisi 1 — Baris yang
Temperature
cocokLower
dengan30
-
Kondisi 2 — Baris yang
Altitude
cocokGreater
dengan100
Bila Anda memiliki lebih dari satu kondisi, Anda dapat memilih apakah Anda ingin tindakan (sertakan/kecualikan) diterapkan pada baris yang Cocokkan semua kondisi atau Cocokkan salah satu kondisi yang Anda tambahkan.
Pada contoh di atas kami memilih Match all karena kami ingin memasukkan baris yang memiliki suhu lebih rendah dari 30 DAN ketinggian lebih tinggi dari 100. Jika kita ingin memasukkan baris yang memiliki suhu lebih rendah dari 30 ATAU ketinggian lebih tinggi dari 100 sebagai gantinya, maka kita akan memilih Match any. Ini akan mencakup baris pertama dalam data asli, yang memiliki suhu 32° C (tidak cocok dengan kondisi pertama) tetapi ketinggian 101 (yang cocok dengan kondisi kedua), sehingga disertakan.
Kondisi yang tidak valid atau tidak lengkap dikonfigurasi diabaikan.
Grup oleh
Transformasi ini mengelompokkan data dengan nilai bidang (kolom) tertentu dan memproses perhitungan pada setiap grup. Klik untuk melihat daftar pilihan perhitungan.
Berikut adalah contoh data asli.
Waktu | ID Server | Suhu CPU | Status Server |
---|---|---|---|
7/7/2020 11:34:20AM |
server 1 |
80 |
Shutdown |
7/7/2020 11:34:20AM |
server 3 |
62 |
OK |
7/7/2020 10:32:20AM |
server 2 |
90 |
Kelebihan |
7/7/2020 10:31:22AM |
server 3 |
55 |
OK |
7/7/2020 9:30:57AM |
server 3 |
62 |
Rebooting |
7/7/2020 9:30:05AM |
server 2 |
88 |
OK |
7/7/2020 9:28:06AM |
server 1 |
80 |
OK |
7/7/2020 9:25:05AM |
server 2 |
88 |
OK |
7/7/2020 9:23:07AM |
server 1 |
86 |
OK |
Transformasi ini berjalan dalam dua langkah. Pertama, Anda menentukan satu atau beberapa bidang untuk mengelompokkan data berdasarkan. Ini akan mengelompokkan semua nilai yang sama dari bidang tersebut bersama-sama, seolah-olah Anda mengurutkannya. Misalnya jika kita mengelompokkan berdasarkan bidang ID Server, maka itu akan mengelompokkan data dengan cara ini:
Waktu | ID Server | Suhu CPU | Status Server |
---|---|---|---|
7/7/2020 11:34:20AM |
server 1 |
80 |
Shutdown |
7/7/2020 9:28:06AM |
server 1 |
80 |
OK |
7/7/2020 9:23:07AM |
server 1 |
86 |
OK |
7/7/2020 10:32:20AM |
server 2 |
90 |
Kelebihan |
7/7/2020 9:30:05AM |
server 2 |
88 |
OK |
7/7/2020 9:25:05AM |
server 2 |
88 |
OK |
7/7/2020 11:34:20AM |
server 3 |
62 |
OK |
7/7/2020 10:31:22AM |
server 3 |
55 |
OK |
7/7/2020 9:30:57AM |
server 3 |
62 |
Rebooting |
Semua baris dengan nilai ID Server yang sama dikelompokkan bersama.
Setelah memilih bidang mana Anda ingin mengelompokkan data Anda, Anda dapat menambahkan berbagai perhitungan pada bidang lain, dan menerapkan perhitungan untuk setiap kelompok baris. Misalnya, kita bisa menghitung suhu CPU rata-rata untuk masing-masing server tersebut. Jadi kita dapat menambahkan perhitungan rata-rata yang diterapkan pada bidang Suhu CPU untuk mendapatkan yang berikut:
ID Server | Suhu CPU (rata-rata) |
---|---|
server 1 |
82 |
server 2 |
88,6 |
server 3 |
59,6 |
Dan kita dapat menambahkan lebih dari satu perhitungan. Misalnya:
-
Untuk bidang Waktu, kita dapat menghitung nilai Terakhir, untuk mengetahui kapan titik data terakhir diterima untuk setiap server
-
Untuk bidang Status Server, kita dapat menghitung nilai Terakhir untuk mengetahui berapa nilai status terakhir untuk setiap server
-
Untuk bidang Temperatur, kita juga dapat menghitung nilai Terakhir untuk mengetahui berapa suhu yang dipantau terbaru untuk setiap server
Kami kemudian akan mendapatkan:
ID Server | Suhu CPU (rata-rata) | Suhu CPU (terakhir) | Waktu (terakhir) | Status Server (terakhir) |
---|---|---|---|---|
server 1 |
82 |
80 |
7/7/2020 11:34:20AM |
Shutdown |
server 2 |
88,6 |
90 |
7/7/2020 10:32:20AM |
Kelebihan |
server 3 |
59,6 |
62 |
7/7/2020 11:34:20AM |
OK |
Transformasi ini memungkinkan Anda untuk mengekstrak informasi penting dari deret waktu Anda dan menampilkannya dengan cara yang nyaman.
Bergabung dengan bidang
Gunakan transformasi ini untuk menggabungkan beberapa hasil menjadi satu tabel. Ini sangat berguna untuk mengubah beberapa hasil deret waktu menjadi satu tabel lebar dengan bidang waktu bersama.
Gabung batin
Gabungan bagian dalam menggabungkan data dari beberapa tabel di mana semua tabel berbagi nilai yang sama dari bidang yang dipilih. Jenis gabungan ini mengecualikan data di mana nilai tidak cocok di setiap hasil.
Gunakan transformasi ini untuk menggabungkan hasil dari beberapa kueri (menggabungkan pada bidang gabungan yang diteruskan atau kolom pertama kali) menjadi satu hasil, dan jatuhkan baris di mana gabungan yang berhasil tidak dapat terjadi.
Dalam contoh berikut, dua query mengembalikan data tabel. Ini divisualisasikan sebagai dua tabel terpisah sebelum menerapkan transformasi gabungan batin.
Kueri A:
Waktu | Pekerjaan | Waktu aktif |
---|---|---|
7/7/2020 11:34:20AM |
simpul |
25260122 |
7/7/2020 11:24:20AM |
postgre |
123001233 |
7/7/2020 11:14:20AM |
postgre |
345001233 |
Kueri B:
Waktu | Server | Kesalahan |
---|---|---|
7/7/2020 11:34:20AM |
server 1 |
15 |
7/7/2020 11:24:20AM |
server 2 |
5 |
7/7/2020 11:04:20AM |
server 3 |
10 |
Hasil setelah menerapkan transformasi gabungan batin terlihat seperti berikut:
Waktu | Pekerjaan | Waktu aktif | Server | Kesalahan |
---|---|---|---|---|
7/7/2020 11:34:20AM |
simpul |
25260122 |
server 1 |
15 |
7/7/2020 11:24:20AM |
postgre |
123001233 |
server 2 |
5 |
Bergabung di luar
Gabungan luar mencakup semua data dari gabungan dalam dan baris di mana nilai tidak cocok di setiap input. Sementara gabungan bagian dalam bergabung dengan Kueri A dan Kueri B pada bidang waktu, gabungan luar mencakup semua baris yang tidak cocok di bidang waktu.
Dalam contoh berikut, dua query mengembalikan data tabel. Ini divisualisasikan sebagai dua tabel sebelum menerapkan transformasi gabungan luar.
Kueri A:
Waktu | Pekerjaan | Waktu aktif |
---|---|---|
7/7/2020 11:34:20AM |
simpul |
25260122 |
7/7/2020 11:24:20AM |
postgre |
123001233 |
7/7/2020 11:14:20AM |
postgre |
345001233 |
Kueri B:
Waktu | Server | Kesalahan |
---|---|---|
7/7/2020 11:34:20AM |
server 1 |
15 |
7/7/2020 11:24:20AM |
server 2 |
5 |
7/7/2020 11:04:20AM |
server 3 |
10 |
Hasil setelah menerapkan transformasi gabungan luar terlihat seperti berikut:
Waktu | Pekerjaan | Waktu aktif | Server | Kesalahan |
---|---|---|---|---|
7/7/2020 11:04:20AM |
server 3 |
10 |
||
7/7/2020 11:14:20AM |
postgre |
345001233 |
||
7/7/2020 11:34:20AM |
simpul |
25260122 |
server 1 |
15 |
7/7/2020 11:24:20AM |
postgre |
123001233 |
server 2 |
5 |
Label ke bidang
Transformasi ini mengubah hasil deret waktu yang menyertakan label atau tag ke dalam tabel di mana setiap kunci label dan nilai disertakan dalam hasil tabel. Label dapat ditampilkan baik sebagai kolom atau sebagai nilai baris.
Diberikan hasil query dari dua deret waktu:
-
Seri 1 - label Server = Server A, DataCenter = EU
-
Seri 2 - label Server = Server B, DataCenter = EU
Dalam mode Kolom, hasilnya terlihat seperti ini:
Waktu | Server | Pusat data | Nilai |
---|---|---|---|
7/7/2020 11:34:20AM |
Server A |
EU |
1 |
7/7/2020 11:34:20AM |
Peladen B |
EU |
2 |
Dalam mode “Baris”, hasilnya memiliki tabel untuk setiap seri dan menunjukkan setiap nilai label seperti ini:
label | nilai |
---|---|
Server |
Server A |
Pusat data |
EU |
label | nilai |
---|---|
Server |
Peladen B |
Pusat data |
EU |
Nama bidang nilai
Jika Anda memilih Server sebagai nama bidang Nilai, maka Anda akan mendapatkan satu bidang untuk setiap nilai label Server.
Waktu | Pusat data | Server A | Peladen B |
---|---|---|---|
7/7/2020 11:34:20AM |
EU |
1 |
2 |
Perilaku penggabungan
Label ke bidang transformator secara internal adalah dua transformasi terpisah. Tindakan pertama pada seri tunggal dan mengekstrak label ke bidang. Yang kedua adalah transformasi gabungan yang menggabungkan semua hasil menjadi satu tabel. Transformasi gabungan mencoba bergabung di semua bidang yang cocok. Langkah penggabungan ini diperlukan dan tidak dapat dimatikan.
catatan
Transformasi gabungan dapat digunakan sendiri, dan dijelaskan secara rinci di bawah ini.
Untuk mengilustrasikan hal ini, berikut adalah contoh di mana Anda memiliki dua kueri yang mengembalikan deret waktu tanpa label yang tumpang tindih.
-
Seri 1 - label server = Servera
-
Seri 2 - label DataCenter = EU
Ini pertama-tama akan menghasilkan dua tabel ini:
Waktu | Server | Nilai |
---|---|---|
7/7/2020 11:34:20AM |
ServerA |
10 |
Waktu | Pusat data | Nilai |
---|---|---|
7/7/2020 11:34:20AM |
EU |
20 |
Setelah bergabung:
Waktu | Server | Nilai | Pusat data |
---|---|---|---|
7/7/2020 11:34:20AM |
ServerA |
10 |
|
7/7/2020 11:34:20AM |
20 |
EU |
Gabungkan
Gunakan transformasi ini untuk menggabungkan hasil dari beberapa kueri menjadi satu hasil tunggal. Ini sangat membantu saat menggunakan visualisasi panel tabel. Nilai yang dapat digabungkan digabungkan ke dalam baris yang sama. Nilai dapat digabungkan jika bidang bersama berisi data yang sama.
Dalam contoh di bawah ini, kita memiliki dua query mengembalikan data tabel. Ini divisualisasikan sebagai dua tabel terpisah sebelum menerapkan transformasi.
Kueri A:
Waktu | Pekerjaan | Waktu aktif |
---|---|---|
7/7/2020 11:34:20AM |
simpul |
25260122 |
7/7/2020 11:24:20AM |
postgre |
123001233 |
Kueri B:
Waktu | Pekerjaan | Kesalahan |
---|---|---|
7/7/2020 11:34:20AM |
simpul |
15 |
7/7/2020 11:24:20AM |
postgre |
5 |
Berikut adalah hasilnya setelah menerapkan transformasi Merge:
Waktu | Pekerjaan | Kesalahan | Waktu aktif |
---|---|---|---|
7/7/2020 11:34:20AM |
simpul |
15 |
25260122 |
7/7/2020 11:24:20AM |
postgre |
5 |
123001233 |
Mengatur bidang
Gunakan transformasi ini untuk mengganti nama, menyusun ulang, atau menyembunyikan bidang yang dikembalikan oleh kueri.
catatan
Transformasi ini hanya berfungsi di panel dengan satu kueri. Jika panel Anda memiliki beberapa kueri, maka Anda harus menerapkan transformasi gabungan Luar atau menghapus kueri tambahan.
Grafana menampilkan daftar bidang yang dikembalikan oleh kueri. Anda dapat:
-
Ubah urutan bidang dengan mengarahkan kursor ke atas bidang. Kursor berubah menjadi tangan dan kemudian Anda dapat menyeret bidang ke tempat barunya.
-
Sembunyikan atau tampilkan bidang dengan mengklik ikon mata di sebelah nama bidang.
-
Ganti nama bidang dengan mengetikkan nama baru di kotak Ganti nama.
Partisi berdasarkan nilai
Transformasi ini dapat membantu menghilangkan kebutuhan akan beberapa kueri ke sumber data yang sama dengan WHERE
klausa yang berbeda saat membuat grafik beberapa seri. Pertimbangkan tabel SQL metrik dengan data berikut:
Waktu | Wilayah | Nilai |
---|---|---|
10/20/2022 12:00:00PM |
AS |
1520 |
10/20/2022 12:00:00PM |
EU |
2936 |
10/20/2022 1:00:00AM |
AS |
1327 |
10/20/2022 1:00:00AM |
EU |
912 |
Sebelum v9.3, jika Anda ingin merencanakan garis tren merah untuk AS dan yang biru untuk UE di TimeSeries panel yang sama, Anda mungkin harus membaginya menjadi dua kueri:
SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='US'
SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='EU'
Ini juga mengharuskan Anda untuk mengetahui sebelumnya wilayah mana yang benar-benar ada dalam tabel metrik.
Dengan transformator Partition by values, Anda sekarang dapat mengeluarkan satu kueri dan membagi hasilnya dengan nilai unik dalam satu atau lebih kolom (fields
) pilihan Anda. Contoh berikut menggunakan Region
.
SELECT Time, Region, Value FROM metrics WHERE Time > '2022-10-20'
Waktu | Wilayah | Nilai |
---|---|---|
10/20/2022 12:00:00PM |
AS |
1520 |
10/20/2022 1:00:00AM |
AS |
1327 |
Waktu | Wilayah | Nilai |
---|---|---|
10/20/2022 12:00:00PM |
EU |
2936 |
10/20/2022 1:00:00AM |
EU |
912 |
Kurangi
Transformasi Reduce menerapkan perhitungan untuk setiap bidang dalam frame dan mengembalikan nilai tunggal. Bidang waktu dihapus saat menerapkan transformasi ini.
Pertimbangkan masukannya:
Kueri A:
Waktu | Temp | Waktu aktif |
---|---|---|
7/7/2020 11:34:20AM |
12.3 |
256122 |
7/7/2020 11:24:20AM |
15.4 |
1230233 |
Kueri B:
Waktu | AQI | Kesalahan |
---|---|---|
7/7/2020 11:34:20AM |
6.5 |
15 |
7/7/2020 11:24:20AM |
3.2 |
5 |
Trafo reduksi memiliki dua mode:
-
Seri ke baris - Membuat baris untuk setiap bidang dan kolom untuk setiap perhitungan.
-
Mengurangi bidang - Menjaga struktur bingkai yang ada, tetapi menciutkan setiap bidang menjadi satu nilai.
Misalnya, jika Anda menggunakan perhitungan Pertama dan Terakhir dengan transformasi Seri ke baris, maka hasilnya adalah:
Bidang | Pertama | Terakhir |
---|---|---|
Temp |
12.3 |
15.4 |
Waktu aktif |
256122 |
1230233 |
AQI |
6.5 |
3.2 |
Kesalahan |
15 |
5 |
Kolom Reduce dengan perhitungan Terakhir, menghasilkan dua frame, masing-masing dengan satu baris:
Kueri A:
Temp | Waktu aktif |
---|---|
15.4 |
1230233 |
Kueri B:
AQI | Kesalahan |
---|---|
3.2 |
5 |
Ganti nama dengan regex
Gunakan transformasi ini untuk mengganti nama bagian dari hasil kueri menggunakan ekspresi reguler dan pola penggantian.
Anda dapat menentukan ekspresi reguler, yang hanya diterapkan pada kecocokan, bersama dengan pola pengganti yang mendukung referensi kembali. Misalnya, bayangkan Anda memvisualisasikan penggunaan CPU per host dan Anda ingin menghapus nama domain. Anda dapat mengatur regex ke ([^\.]+)\..+
dan pola penggantian ke$1
, web-01.example.com
akan menjadi. web-01
Baris ke bidang
Transformasi baris ke bidang mengubah baris menjadi bidang terpisah. Ini dapat berguna karena bidang dapat ditata dan dikonfigurasi secara individual. Ini juga dapat menggunakan bidang tambahan sebagai sumber untuk konfigurasi bidang dinamis atau memetakannya ke label bidang. Label tambahan kemudian dapat digunakan untuk menentukan nama tampilan yang lebih baik untuk bidang yang dihasilkan.
Transformasi ini mencakup tabel bidang yang mencantumkan semua bidang dalam data yang dikembalikan oleh kueri konfigurasi. Tabel ini memberi Anda kontrol atas bidang apa yang harus dipetakan ke setiap properti konfigurasi (opsi *Gunakan sebagai**). Anda juga dapat memilih nilai mana yang akan dipilih jika ada beberapa baris dalam data yang dikembalikan.
Transformasi ini membutuhkan:
-
Satu bidang untuk digunakan sebagai sumber nama bidang.
Secara default, transformasi menggunakan bidang string pertama sebagai sumber. Anda dapat mengganti pengaturan default ini dengan memilih Nama bidang di kolom Use as untuk bidang yang ingin Anda gunakan sebagai gantinya.
-
Satu bidang untuk digunakan sebagai sumber nilai.
Secara default, transformasi menggunakan bidang angka pertama sebagai sumber. Tetapi Anda dapat mengganti pengaturan default ini dengan memilih Nilai bidang di kolom Gunakan sebagai kolom untuk bidang yang ingin Anda gunakan sebagai gantinya.
Berguna saat memvisualisasikan data di:
-
Pengukur
-
Stat
-
Bagan pai
Petakan bidang tambahan ke label
Jika bidang tidak dipetakan ke properti konfigurasi Grafana akan secara otomatis menggunakannya sebagai sumber untuk label pada bidang keluaran-
Contoh:
Nama | DataCenter | Nilai |
---|---|---|
ServerA |
AS |
100 |
ServerB |
EU |
200 |
Output:
ServerA (label: DataCenter: AS) | ServerB (label: DataCenter: EU) |
---|---|
10 |
20 |
Label tambahan sekarang dapat digunakan dalam nama tampilan bidang memberikan nama bidang yang lebih lengkap.
Jika Anda ingin mengekstrak konfigurasi dari satu kueri dan menerapkannya ke kueri lain, Anda harus menggunakan konfigurasi dari transformasi hasil kueri.
Contoh
Masukan:
Nama | Nilai | Maks |
---|---|---|
ServerA |
10 |
100 |
ServerB |
20 |
200 |
ServerC |
30 |
300 |
Output:
ServerA (konfigurasi: maks = 100) | ServerB (konfigurasi: maks = 200) | ServerC (konfigurasi: maks = 300) |
---|---|---|
10 |
20 |
30 |
Seperti yang Anda lihat setiap baris dalam data sumber menjadi bidang terpisah. Setiap bidang sekarang juga memiliki set opsi konfigurasi maks. Opsi seperti Min, Max, Unit dan Thresholds adalah bagian dari konfigurasi bidang dan jika diatur seperti ini akan digunakan oleh visualisasi alih-alih opsi apa pun yang dikonfigurasi secara manual di panel opsi editor panel.
Siapkan deret waktu
Mempersiapkan transformasi deret waktu berguna ketika sumber data mengembalikan data deret waktu dalam format yang tidak didukung oleh panel yang ingin Anda gunakan.
Transformasi ini membantu Anda mengatasi masalah ini dengan mengonversi data deret waktu dari format lebar ke format panjang atau sebaliknya.
Pilih opsi deret waktu Multi-frame untuk mengubah kerangka data deret waktu dari format lebar ke format panjang.
Pilih opsi Wide time series untuk mengubah kerangka data deret waktu dari format panjang ke format lebar.
Seri ke baris
Gunakan transformasi ini untuk menggabungkan hasil dari beberapa kueri data deret waktu menjadi satu hasil tunggal. Ini sangat membantu saat menggunakan visualisasi panel tabel.
Hasil dari transformasi ini akan berisi tiga kolom: Waktu, Metrik, dan Nilai. Kolom Metrik ditambahkan sehingga Anda dapat dengan mudah melihat dari mana kueri metrik berasal. Sesuaikan nilai ini dengan mendefinisikan Label pada kueri sumber.
Pada contoh di bawah ini, kami memiliki dua pertanyaan yang mengembalikan data deret waktu. Ini divisualisasikan sebagai dua tabel terpisah sebelum menerapkan transformasi.
Kueri A:
Waktu | Temperatur |
---|---|
7/7/2020 11:34:20AM |
25 |
7/7/2020 10:31:22AM |
22 |
7/7/2020 9:30:05AM |
19 |
Kueri B:
Waktu | Kelembaban |
---|---|
7/7/2020 11:34:20AM |
24 |
7/7/2020 10:32:20AM |
29 |
7/7/2020 9:30:57AM |
33 |
Berikut adalah hasil setelah menerapkan Seri ke transformasi baris.
Waktu | Metrik | Nilai |
---|---|---|
7/7/2020 11:34:20AM |
Temperatur |
25 |
7/7/2020 11:34:20AM |
Kelembaban |
22 |
7/7/2020 10:32:20AM |
Kelembaban |
29 |
7/7/2020 10:31:22AM |
Temperatur |
22 |
7/7/2020 9:30:57AM |
Kelembaban |
33 |
7/7/2020 9:30:05AM |
Temperatur |
19 |
Urutkan berdasarkan
Transformasi ini akan mengurutkan setiap frame dengan bidang yang dikonfigurasi, Ketika reverse
dicentang, nilai akan kembali dalam urutan yang berlawanan.
Batasi
Gunakan transformasi ini untuk membatasi jumlah baris yang ditampilkan.
Pada contoh di bawah ini, kami memiliki respons berikut dari sumber data:
Waktu | Metrik | Nilai |
---|---|---|
7/7/2020 11:34:20AM |
Temperatur |
25 |
7/7/2020 11:34:20AM |
Kelembaban |
22 |
7/7/2020 10:32:20AM |
Kelembaban |
29 |
7/7/2020 10:31:22AM |
Temperatur |
22 |
7/7/2020 9:30:57AM |
Kelembaban |
33 |
7/7/2020 9:30:05AM |
Temperatur |
19 |
Berikut adalah hasil setelah menambahkan transformasi Limit dengan nilai '3':
Waktu | Metrik | Nilai |
---|---|---|
7/7/2020 11:34:20AM |
Temperatur |
25 |
7/7/2020 11:34:20AM |
Kelembaban |
22 |
7/7/2020 10:32:20AM |
Kelembaban |
29 |