Öğretici: Yaygın işleçleri öğrenme

Kusto Sorgu Dili (KQL),Azure Veri Gezgini, Azure İzleyici Log Analytics, Azure Sentinel ve daha fazlasında sorgu yazmak için kullanılır. Bu öğretici, verilerinize erişmek ve bunları analiz etmek için kullanılan temel KQL operatörlerine giriş niteliğindedir.

Azure İzleyici'de günlükleri sorgulama hakkında daha ayrıntılı yönergeler için bkz. Günlük sorgularını kullanmaya başlama.

Not

Aradığınızı bulamadınız mı? Bu makale kısa süre önce aşağıdaki gibi bölünmüştür:

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

Bu öğreticideki örneklerde, yardım kümesinde herkese açık olan tablo kullanılırStormEvents. Kendi verilerinizle keşfetmek için kendi ücretsiz kümenizi oluşturun.

Önkoşullar

  • Yardım kümesinde oturum açmak için bir Microsoft hesabı veya Microsoft Entra kullanıcı kimliği

Satırları say

Tablodaki storm kayıtlarının sayısını bulmak için count işlecini StormEvents kullanarak başlayın.

StormEvents 
| count

Çıkış

Count
59066

Veri örneğine bakın

Verileri algılamak için take işlecini kullanarak kayıtların bir örneğini görüntüleyin. Bu işleç tablodan belirtilen sayıda rastgele satır döndürür ve bu da genel veri yapısının ve içeriğinin önizlemesi için yararlı olabilir.

StormEvents 
| take 5

Aşağıdaki tabloda döndürülen 22 sütundan yalnızca 6'sı gösterilmektedir. Çıkışın tamamını görmek için sorguyu çalıştırın.

StartTime EndTime Bölüm Kimliği EventId Durum Olay türü ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORİDA Kasırga ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12554 68796 MİSSİSSİPPİ Fırtına Rüzgarı ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GÜRCİSTAN Fırtına Rüzgarı ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTIC SOUTH Su Damlası ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORİDA Şiddetli Yağmur ...

Sütunların alt kümesini seçme

Görünümü basitleştirmek ve sütunların belirli bir alt kümesini seçmek için proje işlecini kullanın. Kullanmak project genellikle tüm sütunları görüntülemekten daha verimlidir ve okunmasını kolaylaştırır.

StormEvents
| take 5
| project State, EventType, DamageProperty

Çıkış

Durum Olay türü DamageProperty
ATLANTIC SOUTH Su Damlası 0
FLORİDA Şiddetli Yağmur 0
FLORİDA Kasırga 6200000
GÜRCİSTAN Fırtına Rüzgarı 2000
MİSSİSSİPPİ Fırtına Rüzgarı 20000

Benzersiz değerleri listeleme

Önceki sorgunun sonuçlarına bağlı olarak birden çok tür fırtına olduğu görülüyor. Benzersiz fırtına türlerinin tümünü listelemek için distinct işlecini kullanın.

StormEvents 
| distinct EventType

Tabloda 46 tür fırtına vardır. İşte bunlardan 10'unun bir örneği.

Olay türü
Fırtına Rüzgarı
Dolu
Ani Sel
Kurak -lık
Kış Hava Durumu
Kış Fırtınası
Yoğun Kar
Yüksek Rüzgar
Donma/Donma
Sel
...

Koşula göre filtrele

where işleci belirli ölçütlere göre veri satırlarını filtreler.

Aşağıdaki sorgu belirli bir State içindeki storm olaylarını EventTypearar.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty

Bu koşullara uyan 146 olay vardır. Aşağıda 5 örnek verilmiştir.

StartTime EndTime Durum Olay türü DamageProperty
2007-01-13T08:45:00Z 2007-01-13T10:30:00Z TEXAS Sel 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Sel 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Sel 0
2007-01-15T22:00:00Z 2007-01-16T22:00:00Z TEXAS Sel 20000
2007-03-12T02:30:00Z 2007-03-12T06:45:00Z TEXAS Sel 0
... ... ... ... ...

Sonuçları sıralama

Texas'ta en çok hasara neden olan en fazla taşmayı görüntülemek için sıralama işlecini kullanarak satırları sütuna göre DamageProperty azalan düzende düzenleyin. Varsayılan sıralama düzeni azalan düzendedir. Artan düzende sıralamak için belirtin asc.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty

Çıkış

StartTime EndTime Durum Olay türü DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Sel 5000000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Sel 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Sel 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Sel 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Sel 750000
... ... ... ... ...

İlk n satırı alma

Üst işleç, belirtilen sütuna göre sıralanmış ilk n satırı döndürür.

Aşağıdaki sorgu, en çok zarar gören özelliğe neden olan beş Teksas taşması döndürür.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty

Çıkış

StartTime EndTime Durum Olay türü DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Sel 5000000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Sel 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Sel 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Sel 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Sel 750000

Not

İşleçlerin sırası önemlidir. Buraya daha önce where koyarsanız top farklı sonuçlar elde edersiniz. Bunun nedeni verilerin her işleç tarafından sırayla dönüştürülmesidir. Daha fazla bilgi edinmek için bkz. tablosal ifade deyimleri.

Hesaplanmış sütun oluşturma

Hem proje hem de genişletme işleçleri hesaplanmış sütunlar oluşturabilir.

Yalnızca project görüntülemek istediğiniz sütunları belirtmek için kullanın ve hesaplanmış sütunu tablonun sonuna eklemek için kullanın extend .

Aşağıdaki sorgu, ve EndTimearasındaki StartTime farkı içeren bir hesaplanmış Duration sütun oluşturur. Yalnızca birkaç seçme sütununu görüntülemek istediğimizden, project kullanmak bu durumda daha iyi bir seçimdir.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty

Çıkış

StartTime EndTime Süre DamageProperty
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

Hesaplanan Duration sütuna bakarsanız en çok hasara neden olan selin de en uzun sel olduğunu fark edebilirsiniz.

Hesaplanmış Duration sütunu diğer tüm sütunlarla birlikte görüntülemek için kullanınextend. Sütun Duration son sütun olarak eklenir.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime

Çıkış

StartTime EndTime ... Süre
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

Değerleri bir kümeden diğerine eşleme

Statik eşleme, sonuçlarınızın sunumunu değiştirmek için kullanışlı bir tekniktir. KQL'de statik eşleme gerçekleştirmenin bir yolu, değerleri bir kümeden diğerine eşlemek için dinamik sözlük ve erişimciler kullanmaktır.

let sourceMapping = dynamic(
  {
    "Emergency Manager" : "Public",
    "Utility Company" : "Private"
  });
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]

Çıkış

EventId Source Friendlyname
68796 Acil Durum Yöneticisi Genel
... ... ...
72609 Yardımcı Şirket Özel
... ... ...

Sonraki adım

Kusto sorguları yazmanın temellerini öğrendiğinize göre, bir sonraki öğreticiye geçin ve verileriniz hakkında daha derin içgörüler elde etmek için toplama işlevlerini kullanmayı öğrenin.