Splunk - Kusto hızlı başvuru kılavuzu
Bu makale, Splunk'a aşina olan kullanıcıların Kusto ile günlük sorguları yazma Kusto Sorgu Dili öğrenmesine yardımcı olmayı amaçlar. İkisi arasında temel farkları ve benzerlikleri vurgulamak için doğrudan karşılaştırmalar yapılır, böylece mevcut bilgilerinizi temel alabilirsiniz.
Yapı ve kavramlar
Aşağıdaki tabloda Splunk ile Kusto günlükleri arasındaki kavramlar ve veri yapıları karşılaştırmaktadır:
Konsept | Splunk | Kusto | Yorum |
---|---|---|---|
dağıtım birimi | cluster | cluster | Kusto, rastgele kümeler arası sorgulara izin verir. Splunk'un yok. |
veri önbellekleri | Kova | önbelleğe alma ve saklama ilkeleri | Verilerin süresini ve önbelleğe alma düzeyini denetler. Bu ayar sorguların performansını ve dağıtım maliyetini doğrudan etkiler. |
verilerin mantıksal bölümü | dizin | database | Verilerin mantıksal ayrımını sağlar. Her iki uygulama da birleşimlere ve bu bölümler arasında birleştirmeye olanak sağlar. |
yapılandırılmış olay meta verileri | Yok | tablo | Splunk, olay meta verileri kavramını arama diline sunmaz. Kusto günlükleri, sütunları olan bir tablo kavramına sahiptir. Her olay örneği bir satıra eşlenir. |
kaydet | event | satır | Yalnızca terminoloji değişikliği. |
record özniteliği | alan | sütun | Kusto'da bu ayar, tablo yapısının bir parçası olarak önceden tanımlanmıştır. Splunk'ta her olayın kendi alan kümesi vardır. |
types | Datatype | Datatype | Kusto veri türleri sütunlarda ayarlandığından daha açık olur. Her ikisi de JSON desteği dahil olmak üzere veri türleri ve kabaca eşdeğer veri türleri kümesiyle dinamik olarak çalışma özelliğine sahiptir. |
sorgulama ve arama | search | query | Kavramlar temel olarak Kusto ile Splunk arasında aynıdır. |
olay alma süresi | sistem süresi | ingestion_time() |
Splunk'ta her olay, olayın dizine alındığı zamanın sistem zaman damgasını alır. Kusto'da, ingestion_time () işlevi aracılığıyla başvurulabilen bir sistem sütununu kullanıma sunan ingestion_time adlı bir ilke tanımlayabilirsiniz. |
İşlevler
Aşağıdaki tablo Kusto'da Splunk işlevlerine eşdeğer işlevleri belirtir.
Splunk | Kusto | Yorum |
---|---|---|
strcat |
strcat() |
(1) |
split |
split() |
(1) |
if |
iff() |
(1) |
tonumber |
todouble() tolong() toint() |
(1) |
upper lower |
toupper() tolower() |
(1) |
replace |
replace_string() veya replace_strings() replace_regex() |
(1)replace İşlevler her iki üründe de üç parametre alsa da, parametreler farklıdır. |
substr |
substring() |
(1) Splunk'un tek tabanlı dizinler kullandığını da unutmayın. Kusto sıfır tabanlı dizinleri not eder. |
tolower |
tolower() |
(1) |
toupper |
toupper() |
(1) |
match |
matches regex |
(2) |
regex |
matches regex |
Splunk'ta regex bir işleçtir. Kusto'da ilişkisel bir işleçtir. |
searchmatch |
== | Splunk'ta, searchmatch tam dizenin aranmasına izin verir. |
random |
rand() rand(n) |
Splunk'un işlevi sıfır ile 231-1 arasında bir sayı döndürür. Kusto's, 0,0 ile 1,0 arasında veya parametre sağlanmışsa 0 ile n-1 arasında bir sayı döndürür. |
now |
now() |
(1) |
relative_time |
totimespan() |
(1) Kusto'da Splunk'un eşdeğeri relative_time(datetimeVal, offsetVal) şeklindedir datetimeVal + totimespan(offsetVal) .Örneğin, olur search | extend myTime = now() - totimespan("1d") eval n=relative_time(now(), "-1d@d") ... | . |
(1) Splunk'ta işlev işleci kullanılarak çağrılır eval
. Kusto'da veya project
öğesinin extend
bir parçası olarak kullanılır.
(2) Splunk'ta işlev işleci kullanılarak çağrılır eval
. Kusto'da işleciyle where
birlikte kullanılabilir.
İşleçler
Aşağıdaki bölümlerde Splunk ve Kusto'da farklı işleçlerin nasıl kullanılacağına ilişkin örnekler verilmiştir.
Not
Aşağıdaki örneklerde Splunk alanı rule
Kusto'daki bir tabloyla eşlenmiş ve Splunk'un varsayılan zaman damgası Logs Analytics sütunuyla eşlemektedir ingestion_time()
.
Arayın
Splunk'ta anahtar sözcüğünü search
atlayabilir ve tırnak içinde olmayan bir dize belirtebilirsiniz. Kusto'da her sorguyu ile find
başlatmanız gerekir, tırnak içine alınmamış dize bir sütun adıdır ve arama değeri tırnak içine alınmış bir dize olmalıdır.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | search |
search Session.Id="c8894ffd-e684-43c9-9125-42adc25cd3fc" earliest=-24h |
Kusto | find |
find Session.Id=="c8894ffd-e684-43c9-9125-42adc25cd3fc" and ingestion_time()> ago(24h) |
Filtre
Kusto günlük sorguları, uygulanan tablosal bir sonuç kümesinden filter
başlar. Splunk'ta filtreleme, geçerli dizindeki varsayılan işlemdir. Splunk'ta işlecini where
de kullanabilirsiniz, ancak bunu önermeyiz.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | search |
Event.Rule="330009.2" Session.Id="c8894ffd-e684-43c9-9125-42adc25cd3fc" _indextime>-24h |
Kusto | where |
Office_Hub_OHubBGTaskError | where Session_Id == "c8894ffd-e684-43c9-9125-42adc25cd3fc" and ingestion_time() > ago(24h) |
İnceleme için n olay veya satır alma
Kusto günlük sorguları için diğer ad limit
olarak da desteklenirtake
. Splunk'ta, sonuçlar sıralıysa ilk head
n sonucu döndürür. Kusto'da limit
sıralı değildir, ancak bulunan ilk n satırı döndürür.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | head |
Event.Rule=330009.2 | head 100 |
Kusto | limit |
Office_Hub_OHubBGTaskError | limit 100 |
Alan veya sütuna göre sıralanmış ilk n olayı veya satırı alma
En alttaki sonuçlar için Splunk'ta kullanırsınız tail
. Kusto'da kullanarak sıralama yönünü asc
belirtebilirsiniz.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | head |
Event.Rule="330009.2" | sort Event.Sequence | head 20 |
Kusto | top |
Office_Hub_OHubBGTaskError | top 20 by Event_Sequence |
Sonuç kümesini yeni alan veya sütunlarla genişletme
Splunk'un bir eval
işlevi vardır, ancak Kusto'daki işleçle eval
karşılaştırılamaz. eval
Hem Splunk'taki işleç hem extend
de Kusto'daki işleç yalnızca skaler işlevleri ve aritmetik işleçleri destekler.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | eval |
Event.Rule=330009.2 | eval state= if(Data.Exception = "0", "success", "error") |
Kusto | extend |
Office_Hub_OHubBGTaskError | extend state = iff(Data_Exception == 0,"success" ,"error") |
Rename
Kusto, bir alanı yeniden adlandırmak için işlecini kullanır project-rename
. işlecinde project-rename
sorgu, bir alan için önceden oluşturulmuş dizinlerden yararlanabilir. Splunk'un aynı işlemi üstlenen bir rename
işleci vardır.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | rename |
Event.Rule=330009.2 | rename Date.Exception as execption |
Kusto | project-rename |
Office_Hub_OHubBGTaskError | project-rename exception = Date_Exception |
Sonuçları ve yansıtmayı biçimlendirme
Splunk, sonuçlara eklenecek sütunları seçmek için komutunu kullanır table
. Kusto'nun aynı ve daha fazlasını kullanan bir project
işleci vardır.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | table |
Event.Rule=330009.2 | table rule, state |
Kusto | project |
Office_Hub_OHubBGTaskError | project exception, state |
Splunk, sonuçların dışında tutulacak sütunları seçmek için komutunu kullanır field -
. Kusto'nun aynı işlemi uygulayan bir project-away
işleci vardır.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | fields - |
Event.Rule=330009.2 | fields - quota, hightest_seller |
Kusto | project-away |
Office_Hub_OHubBGTaskError | project-away exception, state |
Toplama
Kullanılabilir toplamaları özetleme işlevlerinin listesine bakın.
Splunk işleci | Splunk örneği | Kusto işleci | Kusto örneği |
---|---|---|---|
stats |
search (Rule=120502.*) | stats count by OSEnv, Audience |
summarize |
Office_Hub_OHubBGTaskError | summarize count() by App_Platform, Release_Audience |
evenstats |
... | stats count_i by time, category | eventstats sum(count_i) AS count_total by _time_ |
join |
T2 | join kind=inner (T1) on _time | project _time, category, count_i, count_total |
Katılın
join
Splunk'ta önemli sınırlamalar vardır. Alt sorgunun 10.000 sonuç sınırı vardır (dağıtım yapılandırma dosyasında ayarlanır) ve sınırlı sayıda birleştirme özelliği kullanılabilir.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | join |
Event.Rule=120103* | stats by Client.Id, Data.Alias | join Client.Id max=0 [search earliest=-24h Event.Rule="150310.0" Data.Hresult=-2147221040] |
Kusto | join |
cluster("OAriaPPT").database("Office PowerPoint").Office_PowerPoint_PPT_Exceptions | where Data_Hresult== -2147221040 | join kind = inner (Office_System_SystemHealthMetadata | summarize by Client_Id, Data_Alias)on Client_Id |
Sırala
Splunk'ta artan düzende sıralamak için işlecini reverse
kullanmanız gerekir. Kusto ayrıca null değerlerin en başına veya sonuna yerleştirileceği yeri tanımlamayı da destekler.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | sort |
Event.Rule=120103 | sort Data.Hresult | reverse |
Kusto | order by |
Office_Hub_OHubBGTaskError | order by Data_Hresult, desc |
Birden çok değerli genişletme
Çok değerli genişletme işleci hem Splunk hem de Kusto'da benzerdir.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | mvexpand |
mvexpand solutions |
Kusto | mv-expand |
mv-expand solutions |
Sonuç modelleri, ilginç alanlar
Azure portal Log Analytics'te yalnızca ilk sütun gösterilir. Tüm sütunlar API aracılığıyla kullanılabilir.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | fields |
Event.Rule=330009.2 | fields App.Version, App.Platform |
Kusto | facets |
Office_Excel_BI_PivotTableCreate | facet by App_Branch, App_Version |
Yinelenenleri Kaldırma
Kusto'da, kaydın seçildiği sırayı ters çevirmek için kullanabilirsiniz summarize arg_min()
.
Ürün | İşleç | Örnek |
---|---|---|
Splunk | dedup |
Event.Rule=330009.2 | dedup device_id sortby -batterylife |
Kusto | summarize arg_max() |
Office_Excel_BI_PivotTableCreate | summarize arg_max(batterylife, *) by device_id |
İlgili içerik
- Kusto Sorgu Dili öğreticisini inceleyin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin