Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Anda menggunakan Kusto Query Language (KQL) untuk menulis kueri di Azure Data Explorer, Azure Monitor Log Analytics, Microsoft Sentinel, dan banyak lagi. Tutorial ini memperkenalkan operator KQL penting yang Anda gunakan untuk mengakses dan menganalisis data Anda.
Untuk panduan lebih spesifik tentang cara melakukan kueri terhadap log di Azure Monitor, lihat Mulai dengan kueri log.
Catatan
Tidak dapat menemukan yang Anda cari? Artikel ini baru-baru ini dibagi, sebagai berikut:
- Pelajari operator umum (artikel ini)
- Menggunakan fungsi agregasi
- Menggabungkan data dari beberapa tabel
- Membuat visualisasi geospasial
Dalam tutorial ini, Anda akan belajar cara:
Contoh dalam tutorial ini menggunakan tabel StormEvents, yang tersedia untuk umum di gugus bantuan. Untuk meneroka dengan data Anda sendiri, buat kluster gratis Anda sendiri.
Contoh dalam tutorial ini menggunakan StormEvents tabel, yang tersedia untuk umum dalam Analitik Cuacadata sampel.
Prasyarat
Untuk menjalankan kueri berikut, Anda memerlukan lingkungan kueri dengan akses ke data sampel. Anda dapat menggunakan salah satu opsi berikut:
- Akun Microsoft atau identitas pengguna Microsoft Entra untuk masuk ke kluster bantuan
- Akun Microsoft atau identitas pengguna Microsoft Entra
- Ruang kerja Fabric dengan kapasitas yang diaktifkan Microsoft Fabric
Menghitung baris
Mulailah dengan menggunakan operator hitungan untuk menemukan jumlah rekaman badai StormEvents dalam tabel.
StormEvents
| count
Hasil
| Jumlah |
|---|
| 59066 |
Lihat sampel data
Untuk memahami data, gunakan operator ambil untuk melihat sampel rekaman. Operator ini mengembalikan jumlah baris arbitrer tertentu dari tabel, yang dapat berguna untuk mempratinjau struktur dan konten data umum.
StormEvents
| take 5
Tabel berikut ini hanya memperlihatkan lima dari 22 kolom yang dikembalikan. Untuk melihat output lengkap, jalankan kueri.
| Waktu Mulai | WaktuAkhir | EpisodeId | EventId | Keadaan | JenisAcara | ... |
|---|---|---|---|---|---|---|
| 2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornado | ... |
| 2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Angin Badai Petir | ... |
| 2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIA | Angin Badai Petir | ... |
| 2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIK SELATAN | Sengkayan | ... |
| 2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Hujan Lebat | ... |
Pilih subset kolom
Gunakan operator proyek untuk menyederhanakan tampilan dan memilih subset kolom tertentu. Penggunaan project sering kali lebih efisien dan lebih mudah dibaca daripada melihat semua kolom.
StormEvents
| take 5
| project State, EventType, DamageProperty
Hasil
| Keadaan | EventType | PropertiKerusakan |
|---|---|---|
| ATLANTIK SELATAN | Sengkayan | 0 |
| FLORIDA | Hujan Lebat | 0 |
| FLORIDA | Tornado | 6200000 |
| GEORGIA | Angin Badai Petir | 2000 |
| MISSISSIPPI | Angin Badai Petir | 20000 |
Mencantumkan nilai unik
Hasil kueri sebelumnya memperlihatkan beberapa jenis badai. Gunakan operator berbeda untuk mencantumkan semua jenis badai unik.
StormEvents
| distinct EventType
Tabel berisi 46 jenis badai. Berikut adalah sampel 10 dari mereka.
| EventType |
|---|
| Angin Badai Petir |
| Hujan es |
| Banjir Bandang |
| Kekeringan |
| Cuaca Musim Dingin |
| Badai Musim Dingin |
| Salju Tebal |
| Angin Kencang |
| Embun Beku/Pembekuan |
| Banjir |
| ... |
Urukan hasil
Untuk melihat banjir teratas di Texas yang menyebabkan kerusakan paling besar, gunakan operator pengurutan untuk mengatur baris dalam urutan menurun berdasarkan DamageProperty kolom. Urutan pengurutan default adalah turun. Untuk mengurutkan dalam urutan naik, tentukan asc.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Hasil
| WaktuMulai | WaktuAkhir | Keadaan | JenisAcara | PropertiKerusakan |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Banjir | 5000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Banjir | 1200000 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Banjir | 1000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Banjir | 750000 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Banjir | 750000 |
| ... | ... | ... | ... | ... |
Filter menurut kondisi
Operator tempat memfilter baris data berdasarkan kriteria tertentu.
Kueri berikut mencari peristiwa badai di State tertentu dari EventType tertentu.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Ada 146 peristiwa yang cocok dengan kondisi ini. Berikut adalah sampel lima dari mereka.
| WaktuMulai | WaktuAkhir | Keadaan | EventType | PropertiKerusakan |
|---|---|---|---|---|
| 2007-01-13T08:45:00Z | 13-01-2007T10:30:00Z | TEXAS | Banjir | 0 |
| 2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Banjir | 0 |
| 2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Banjir | 0 |
| 2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Banjir | 20000 |
| 2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Banjir | 0 |
| ... | ... | ... | ... | ... |
Filter menurut rentang tanggal dan waktu
Gunakan antara operator untuk memfilter data berdasarkan rentang waktu tertentu.
Kueri berikut menemukan semua peristiwa badai antara 1 Agustus 2007, dan 30 Agustus 2007, bersama dengan status, jenis peristiwa, waktu mulai, dan waktu akhir. Kueri mengurutkan hasil dalam urutan naik menurut waktu mulai.
StormEvents
| where StartTime between (datetime(2007-08-01 00:00:00) .. datetime(2007-08-30 23:59:59))
| project State, EventType, StartTime, EndTime
| sort by StartTime asc
Hasil
| Keadaan | Eventype | WaktuMulai | WaktuAkhir |
|---|---|---|---|
| GEORGIA | Panas Berlebihan | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Kekeringan | 2007-08-01 00:00:00 | 2007-08-3123:59:00 |
| CAROLINA SELATAN | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GEORGIA | Panas Berlebihan | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| MINNESOTA | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| WISCONSIN | Kekeringan | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GEORGIA | Panas Berlebihan | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| ... | ... | ... | ... |
Dapatkan baris n teratas
Operator atas mengembalikan baris n pertama yang diurutkan menurut kolom yang ditentukan.
Kueri berikut menghasilkan lima kejadian banjir di Texas yang menyebabkan kerusakan properti terbesar.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Hasil
| WaktuMulai | WaktuAkhir | Keadaan | EventType | PropertiKerusakan |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Banjir | 5000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Banjir | 1200000 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Banjir | 1000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Banjir | 750000 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Banjir | 750000 |
Catatan
Urutan dari operator itu penting. Jika Anda memasukkan top sebelumnya where dalam contoh ini, Anda mendapatkan hasil yang berbeda. Setiap operator mengubah data secara berurutan. Untuk informasi selengkapnya, lihat pernyataan ekspresi tabular.
Membuat kolom terhitung
Anda dapat menggunakan operator project dan operator extend untuk membuat kolom terhitung.
Gunakan project untuk menentukan hanya kolom yang ingin Anda tampilkan. Gunakan extend untuk menambahkan kolom terhitung ke akhir tabel.
Kueri berikut membuat kolom terhitung Duration dengan perbedaan antara StartTime dan EndTime. Karena Anda hanya ingin menampilkan beberapa kolom yang dipilih, menggunakan project adalah pilihan yang lebih baik dalam hal ini.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Hasil
| WaktuMulai | WaktuAkhir | Durasi | PropertiKerusakan |
|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | 1.01:30:00 | 5000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | 12:00:00 | 1200000 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | 05:00:00 | 1000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | 08:00:00 | 750000 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | 03:00:00 | 750000 |
Jika Anda melihat kolom komputasi Duration , Anda mungkin melihat bahwa banjir yang menyebabkan kerusakan paling besar juga merupakan banjir terpanjang.
Gunakan extend untuk menampilkan kolom terhitung Duration bersama dengan semua kolom lainnya. Kolom Duration ditambahkan sebagai kolom terakhir.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Hasil
| WaktuMulai | WaktuAkhir | ... | Durasi |
|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | ... | 1.01:30:00 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | ... | 12:00:00 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | ... | 05:00:00 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | ... | 08:00:00 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | ... | 03:00:00 |
Memetakan nilai dari satu set ke set yang lain
Pemetaan statis adalah teknik yang berguna untuk mengubah presentasi hasil Anda. Di KQL, Anda dapat melakukan pemetaan statis dengan menggunakan kamus dan aksesor dinamis untuk memetakan nilai dari satu set ke yang lain.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Hasil
| EventId | Sumber | Nama Ramah |
|---|---|---|
| 68796 | Manajer Darurat | Umum |
| ... | ... | ... |
| 72609 | Perusahaan Utilitas | Privat |
| ... | ... | ... |
Langkah selanjutnya
Sekarang setelah Anda terbiasa dengan hal-hal penting dalam menulis kueri Kusto, lanjutkan ke tutorial berikutnya dan pelajari cara menggunakan fungsi agregasi untuk mendapatkan wawasan yang lebih mendalam tentang data Anda.