Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Connect ke sumber data Oracle Database
catatan
Sumber data ini hanya untuk Grafana Enterprise. Untuk informasi selengkapnya, lihat Kelola akses ke plugin Enterprise.
Selain itu, di ruang kerja yang mendukung versi 9 atau yang lebih baru, sumber data ini mungkin mengharuskan Anda untuk menginstal plugin yang sesuai. Untuk informasi selengkapnya, lihat Perluas ruang kerja Anda dengan plugin.
Menambahkan sumber data
Pilih Sumber data di panel kiri Grafana.
Pilih Tambahkan Sumber Data:
Masukkan oracle
untuk menemukan sumber data.
Masukkan detail server Oracle.
Masukkan nama host (atau alamat IP) bersama dengan nomor port, dan nama pengguna dan kata sandi untuk terhubung.
Dengan opsi tnsnames toggle, entri valid apa pun yang ditemukan di file konfigurasi tnsnames.ora Anda dapat digunakan, bersama dengan otentikasi dasar.
Mirip dengan contoh sebelumnya, tetapi menggunakan Kerberos untuk otentikasi. Lihat panduan penyiapan khusus kerberos untuk detail tentang cara mengonfigurasi OS atau wadah docker untuk menggunakan kerberos.
Secara opsional mengubah zona waktu yang digunakan untuk terhubung ke server Oracle dan untuk digunakan oleh makro sadar zona waktu. Pengaturan default adalah UTC.
Simpan dan Uji sumber data, Anda akan melihat pesan hijau dengan “Koneksi Database OK”
Penggunaan
Makro
Untuk menyederhanakan sintaks dan memungkinkan bagian dinamis, seperti filter rentang tanggal, kueri dapat berisi makro. Nama kolom harus terkandung dalam tanda kutip ganda ("
).
Contoh makro | Deskripsi |
---|---|
*$__time (DateColumn) * | Akan diganti dengan ekspresi untuk mengganti nama kolom menjadi `time`. Misalnya, `DateColumn as time` *$__timeEpoch (DateColumn) * | Akan diganti dengan ekspresi untuk mengganti nama kolom menjadi time dan mengubah nilai menjadi stempel waktu unix (dalam milidetik). |
*$__TimeFilter (DateColumn) * | Akan diganti dengan filter rentang waktu menggunakan nama kolom yang ditentukan. Misalnya, `DateColumn ANTARA TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552001 DAN TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552002` *$__timeFrom () * | Akan diganti dengan dimulainya pemilihan waktu aktif yang saat ini dikonversi ke tipe DATE data. Misalnya, TO_DATE('19700101','yyyymmdd') +
(1/24/60/60/1000) * 1500376552001 . |
*$__timeTo () * | Akan diganti dengan akhir pemilihan waktu aktif yang saat ini dikonversi ke tipe data `DATE`. *$__TimeGroup (DateColumn, “5m”) * | Akan diganti dengan ekspresi yang dapat digunakan dalam klausa GROUP BY. |
*$__TimeGroup (DateColumn, “5m" [, fillvalue]) * | Akan diganti dengan ekspresi yang dapat digunakan dalam klausa GROUP BY. Memberikan fillValue NULL atau nilai mengambang akan secara otomatis mengisi seri kosong dalam rentang waktu dengan nilai itu. Misalnya, t i m e G r o u p c r e a t e d A t, ′1 m ′, 0. *__TimeGroup (DateColumn, “5m”, 0) *. |
* t i m e G r o u p (d a t e C o l u m n, '5 m ', N U L L) * | S a m e a s a b o v e b u t U U L l l l l l e u s e e s s s s a v a l u u e e m m i n g p o i n t s. *__TimeGroup (DateColumn, “5m”, sebelumnya) * | Sama seperti di atas tetapi nilai sebelumnya dalam seri itu akan digunakan sebagai nilai isi jika tidak ada nilai yang terlihat namun NULL akan digunakan. |
*$__ unixEpochFilter (DateColumn) * | Akan diganti dengan filter rentang waktu menggunakan nama kolom yang ditentukan dengan waktu yang direpresentasikan sebagai stempel waktu unix (dalam milidetik). Misalnya, `DateColumn >= 1500376552001 DAN DateColumn <= 1500376552002` *$__ () * unixEpochFrom | Akan diganti dengan dimulainya pemilihan waktu yang sedang aktif sebagai stempel waktu unix. Misalnya, 1500376552001 . |
*$__unixEpochTo()* | Akan diganti dengan akhir pemilihan waktu yang aktif saat ini sebagai stempel waktu unix. Misalnya, 1500376552002 . |
Plugin ini juga mendukung notasi menggunakan kawat gigi{}
. Gunakan notasi ini ketika kueri diperlukan di dalam parameter.
catatan
Gunakan satu jenis notasi per kueri. Jika kueri membutuhkan tanda kurung gigi, semua makro dalam kueri harus menggunakan tanda kurung gigi.
$__timeGroup{"dateColumn",'5m'} $__timeGroup{SYS_DATE_UTC("SDATE"),'5m'} $__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}
Editor kueri memiliki tautan SQL yang Dihasilkan yang muncul setelah kueri berjalan, saat dalam mode edit panel. Ketika Anda memilih link, itu memperluas dan menunjukkan string SQL interpolasi mentah yang dijalankan.
Kueri Tabel
Jika opsi Format sebagai kueri diatur ke Tabel maka pada dasarnya Anda dapat melakukan semua jenis kueri SQL. Panel tabel akan secara otomatis menampilkan hasil kolom & baris apa pun yang dikembalikan kueri Anda. Anda dapat mengontrol nama kolom panel Tabel dengan menggunakan sintaks pemilihan kolom as
SQL biasa.
Kueri deret waktu
Jika Anda menyetel Format sebagai deret Waktu, untuk digunakan dalam panel Grafik misalnya, kueri harus mengembalikan kolom bernama time
yang mengembalikan datetime SQL atau tipe data numerik apa pun yang mewakili epoch unix dalam hitungan detik. Grafana menafsirkan kolom DATE dan TIMESTAMP tanpa zona waktu eksplisit sebagai UTC. Setiap kolom kecuali time
dan metric
diperlakukan sebagai kolom nilai. Anda dapat mengembalikan kolom bernama metric
yang digunakan sebagai nama metrik untuk kolom nilai.
Contoh kode berikut menunjukkan metric
kolom.
SELECT $__timeGroup("time_date_time", '5m') AS time, MIN("value_double"), 'MIN' as metric FROM test_data WHERE $__timeFilter("time_date_time") GROUP BY $__timeGroup("time_date_time", '5m') ORDER BY time
Lebih banyak kueri — menggunakan oracle-fake-data-gen
SELECT $__timeGroup("createdAt", '5m') AS time, MIN("value"), 'MIN' as metric FROM "grafana_metric" WHERE $__timeFilter("createdAt") GROUP BY $__timeGroup("createdAt", '5m') ORDER BY time
Contoh kode berikut menunjukkan deret waktu Data Palsu.
SELECT "createdAt", "value" FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY "createdAt" ASC
SELECT "createdAt" as time, "value" as value FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY time ASC
Contoh berikut menunjukkan hasil tabel yang berguna.
select tc.table_name Table_name ,tc.column_id Column_id ,lower(tc.column_name) Column_name ,lower(tc.data_type) Data_type ,nvl(tc.data_precision,tc.data_length) Length ,lower(tc.data_scale) Data_scale ,tc.nullable nullable FROM all_tab_columns tc ,all_tables t WHERE tc.table_name = t.table_name
Templat templat
Alih-alih hardcoding hal-hal seperti server, aplikasi dan nama sensor dalam kueri metrik Anda, Anda dapat menggunakan variabel di tempatnya. Variabel ditampilkan sebagai kotak pilih dropdown di bagian atas dasbor. Kotak dropdown ini memudahkan untuk mengubah data yang ditampilkan di dasbor Anda.
Variabel kueri
Jika Anda menambahkan variabel template dari jenisnyaQuery
, Anda dapat menulis kueri Oracle yang dapat mengembalikan hal-hal seperti nama pengukuran, nama kunci atau nilai kunci yang ditampilkan sebagai kotak pilih dropdown.
Misalnya, Anda dapat memiliki variabel yang berisi semua nilai untuk hostname
kolom dalam tabel jika Anda menentukan kueri seperti ini dalam pengaturan kueri variabel template.
SELECT "hostname" FROM host
Kueri dapat mengembalikan beberapa kolom dan Grafana akan secara otomatis membuat daftar dari mereka. Misalnya, query berikut akan mengembalikan daftar dengan nilai-nilai dari hostname
danhostname2
.
SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city
Untuk menggunakan makro yang bergantung pada rentang waktu seperti $__timeFilter("time_column")
dalam kueri Anda, mode penyegaran variabel template perlu diatur ke On Time Range Change.
SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")
Pilihan lain adalah kueri yang dapat membuat variabel kunci/nilai. Query harus mengembalikan dua kolom yang diberi nama __text
dan__value
. Nilai __text
kolom harus unik (jika tidak unik maka nilai pertama digunakan). Opsi dalam daftar dropdown akan memiliki teks dan nilai yang memungkinkan Anda memiliki nama ramah sebagai teks dan id sebagai nilainya. Contoh kode berikut menunjukkan query dengan hostname
sebagai teks dan id
sebagai nilai.
SELECT "hostname" AS __text, "id" AS __value FROM host
Anda juga dapat membuat variabel bersarang. Misalnya, jika Anda memiliki variabel lain bernamaregion
. Kemudian Anda dapat meminta variabel host hanya menampilkan host dari wilayah yang dipilih saat ini dengan kueri seperti ini (jika region
adalah variabel multi-nilai maka gunakan operator IN
perbandingan daripada =
untuk mencocokkan dengan beberapa nilai).
SELECT "hostname" FROM host WHERE region IN('$region')
Menggunakan variabel dalam kueri
Nilai variabel template hanya dikutip ketika variabel template adalahmulti-value
.
Jika variabel adalah variabel multi-nilai maka gunakan operator IN
perbandingan daripada =
untuk mencocokkan dengan beberapa nilai.
Ada dua sintaks:
$<varname>
Contoh dengan variabel template bernamahostname
:
SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname') ORDER BY "atimestamp" ASC
[[varname]]
Contoh dengan variabel template bernamahostname
:
SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]') ORDER BY atimestamp ASC