Aracılığıyla paylaş


Kusto Sorgu Dili genel bakış

Şunlar için geçerlidir: ✅Microsoft Fabric

Kusto Sorgu Dili (KQL), verilerinizi keşfetmeye ve desenleri bulmaya, anomalileri ve aykırı değerleri belirlemeye ve daha fazlasına olanak tanıyan güçlü bir araçtır.

KQL, yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış verileri sorgulamak için basit ama güçlü bir dildir. Dil açıklayıcıdır, sorgu amacını okuması ve anlaması kolaydır ve yazma deneyimleri için iyileştirilmiştir. KQL, metin arama ve ayrıştırma, zaman serisi işleçleri ve işlevleri, analiz ve toplama, jeo-uzamsal, vektör benzerliği aramaları ve veri analizi için en uygun dili sağlayan diğer birçok dil yapısı için derin destekle telemetriyi, ölçümleri ve günlükleri sorgulamak için idealdir. Sorgu, SQL'lere benzer bir hiyerarşide düzenlenmiş şema varlıklarını kullanır: veritabanları, tablolar ve sütunlar.

Betik oluşturma veya veritabanlarıyla çalışma konusunda bir arka planınız varsa, bu makalenin içeriğinin büyük bir kısmı tanıdık geliyor olmalıdır. Aksi takdirde endişelenmeyin çünkü dilin sezgisel yapısı hızla kendi sorgularınızı yazmaya başlamanıza ve kuruluşunuz için değer katmaya başlamanıza olanak tanır.

Bu makalede sorgu dilinin açıklaması sağlanır ve sorgu yazmaya başlamanıza yönelik pratik alıştırmalar sunulmaktadır. Sorgu ortamına erişmek için Azure Veri Gezgini web kullanıcı arabiriminikullanın. KQL'yi kullanmayı öğrenmek için bkz. Öğretici:yaygın işleçleri öğrenme.

Bu makalede sorgu dilinin açıklaması sağlanır ve sorgu yazmaya başlamanıza yönelik pratik alıştırmalar sunulmaktadır. Sorgu ortamına erişmek için KQL sorgu kümesikullanın. KQL'yi kullanmayı öğrenmek için bkz. Öğretici:yaygın işleçleri öğrenme.

KQL ayrıca Microsoft Sentinel'de verilerle çalışmak ve verileri işlemek için kullandığınız dildir. Çalışma alanınıza aktardığınız günlükler, bunları analiz edip tüm bu verilerde gizli olan önemli bilgileri alamazsanız çok değerli değildir. KQL yalnızca bu bilgileri alma gücü ve esnekliğine değil, hızlı bir şekilde başlamanıza yardımcı olacak basitliğe de sahiptir.

Bu makalede, kullanıcıların her gün yazdığı sorguların yüzde 75 ile 80'ini ele alması gereken en çok kullanılan işlev ve işleçlerden bazılarını kapsayan KQL'in temelleri tanıtılır. Daha fazla derinliğe ihtiyacınız olduğunda veya daha gelişmiş sorgular çalıştırmak için Microsoft Sentinel için Gelişmiş KQL çalışma kitabından yararlanabilirsiniz.

Neden Microsoft Sentinel için KQL?

Microsoft Sentinel, Azure İzleyici hizmetinin üzerine kurulmuştur ve tüm verilerini depolamak için Azure İzleyici'nin Log Analytics çalışma alanlarını kullanır. Bu veriler aşağıdakilerden herhangi birini içerir:

  • Microsoft Sentinel veri bağlayıcıları kullanılarak dış kaynaklardan önceden tanımlanmış tablolara alınan veriler.
  • özel oluşturulan veri bağlayıcıları ve bazı kullanıma açık bağlayıcı türleri kullanılarak dış kaynaklardan kullanıcı tanımlı özel tablolara alınan veriler.
  • Microsoft Sentinel tarafından oluşturulan ve oluşturduğu ve gerçekleştirdiği analizlerden (örneğin, uyarılar, olaylar ve UEBA ile ilgili bilgiler) elde edilen veriler.
  • tehdit bilgileri akışları ve izleme listeleri gibi algılama ve analize yardımcı olmak için Microsoft Sentinel'e yüklenen veriler.

KQL, Azure Veri Gezgini hizmetinin bir parçası olarak geliştirilmiştir ve bu nedenle bulut ortamındaki büyük veri depolarında arama için iyileştirilmiştir. Verilerinizi derinlemesine incelemenize ve gizli hazinelerini keşfetmenize yardımcı olmak için tasarlanmıştır.

KQL, Azure İzleyici'de de kullanılır ve Log Analytics veri depolarında verileri almanıza, görselleştirmenize, analiz etmenize ve ayrıştırmanıza olanak sağlayan ek Azure İzleyici özelliklerini destekler. Microsoft Sentinel'de, mevcut kurallar ve çalışma kitaplarında veya kendi kurallarınızı oluştururken verileri görselleştirip analiz ederken ve tehditlere karşı tehdit avcılığı gerçekleştirdiğinizde KQL tabanlı araçlar kullanıyorsunuz.

KQL, Microsoft Sentinel'de yaptığınız neredeyse her şeyin bir parçası olduğundan, nasıl çalıştığını net bir şekilde anlamak, SIEM'inizden daha fazla bilgi edinmenize yardımcı olur.

Kusto sorgusu nedir?

Kusto sorgusu, verileri işlemek ve sonuçları döndürmek için salt okunur bir istektir. İstek, okunması, yazılıp otomatikleştirilmesi kolay bir veri akışı modeli kullanılarak düz metin olarak belirtilir. Kusto sorguları bir veya daha fazla sorgu deyiminden oluşur.

Kusto sorgusu herhangi bir veri yazmaz. Sorgular, SQL'e benzer şekilde bir veritabanı, tablo ve sütun hiyerarşisi halinde düzenlenmiş veriler üzerinde çalışır.

Sorgu deyimi nedir?

üç tür kullanıcı sorgu deyimi vardır:

Tüm sorgu deyimleri bir ; (noktalı virgül) ile ayrılır ve yalnızca eldeki sorguyu etkiler.

Not

Uygulama sorgu deyimleri hakkında bilgi için bkz.Uygulama sorgu deyimleri.

En yaygın sorgu deyimi türü,bir tablosal ifadedir. Bu, hem giriş hem de çıkışının tablolardan veya tablosal veri kümelerinden oluştuğu anlamına gelir. Tablolu deyimler,sıfır veya daha fazla işleç içerir. Bunların her biri tablosal girişle başlar ve tablosal çıkış döndürür. İşleçler bir | (boru) tarafından sıralanmıştır. Bir işleçten diğerine veri akışları veya kanal oluşturulur. Veriler her adımda filtrelenmiş veya değiştirilmiş ve ardından aşağıdaki adıma beslenmiştir.

Veri tablosunun tamamıyla başladığınız huni gibidir. Veriler başka bir işleçten her geçtiğinde filtrelenmiş, yeniden düzenlenmiş veya özetlenmiştir. Bir işleçten diğerine bilgi akışı sıralı olduğundan, sorgu işleci sırası önemlidir ve hem sonuçları hem de performansı etkileyebilir. Huninin sonunda, rafine bir çıkışla kalırsınız.

Şimdi örnek bir sorguya bakalım.

Sorgu çalıştırma

StormEvents
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"
| count
Saymak
28

Not

KQL, tablo adları, tablo sütun adları, işleçler, işlevler vb. her şey için büyük/küçük harfe duyarlıdır. Anahtar sözcükler, köşeli ayraç ve tırnak içine alınarak tanımlayıcı olarak kullanılabilir ([' ve '] ya da [" ve "]). Örneğin, ['where']. Daha fazla bilgi için bkz. Tanımlayıcı adlandırma kuralları

Bu sorgu tek bir tablosal ifade deyimine sahip. deyimi, StormEvents adlı bir tabloya başvuruyla başlar ve where ve countolmak üzere her birini bir boruyla ayırarak birkaç işleç içerir. Kaynak tablonun veri satırları, StartTime sütununun değerine göre filtrelenir ve ardından State sütununun değerine göre filtrelenir. Son satırda sorgu, tek sütunlu bir tablo ve kalan satırların sayısını içeren tek bir satır döndürür.

Daha fazla Kusto sorgusu denemek için bkz. Öğretici:Kusto sorguları yazma.

Yönetim komutları

Kusto sorgularının aksine, Yönetim komutları Kusto'ya veri veya meta verileri işleme veya değiştirme istekleridir. Örneğin, aşağıdaki yönetim komutu Level ve Textolmak üzere iki sütunlu yeni bir Kusto tablosu oluşturur:

.create table Logs (Level:string, Text:string)

Yönetim komutlarının kendi söz dizimi vardır ve bu, KQL söz diziminin bir parçası değildir, ancak ikisi birçok kavramı paylaşır. Özellikle, yönetim komutları komut metnindeki ilk karakterin nokta (.) karakteri (sorgu başlatılamaz) olmasıyla sorgulardan ayırt edilir. Bu ayrım, sorguların içine yönetim komutlarının eklenmesini engellediği için birçok tür güvenlik saldırısını önler.

Tüm yönetim komutları verileri veya meta verileri değiştirmez. meta verileri veya verileri görüntülemek için .showile başlayan büyük komut sınıfı kullanılır. Örneğin, .show tables komutu geçerli veritabanındaki tüm tabloların listesini döndürür.

Yönetim komutları hakkında daha fazla bilgi için bkz. Yönetim komutlarına genel bakış.

Diğer hizmetlerde KQL

KQL, diğer birçok Microsoft hizmeti tarafından kullanılır. Bu ortamlarda KQL kullanımı hakkında belirli bilgiler için aşağıdaki bağlantılara bakın: