Ściągawka porównująca platformę Splunk z programem Kusto
Ten artykuł ma pomóc użytkownikom, którzy znają narzędzie Splunk, poznają język zapytań Kusto do pisania zapytań dzienników za pomocą usługi Kusto. Bezpośrednie porównania są dokonywane między dwoma elementami, aby wyróżnić kluczowe różnice i podobieństwa, dzięki czemu można wykorzystać istniejącą wiedzę.
Struktura i pojęcia
W poniższej tabeli porównaliśmy pojęcia i struktury danych między dziennikami Splunk i Kusto:
Pojęcie | Splunk | Kusto | Komentarz |
---|---|---|---|
jednostka wdrożenia | cluster | cluster | Usługa Kusto umożliwia dowolne zapytania między klastrami. Splunk nie. |
pamięci podręczne danych | Wiadra | Zasady buforowania i przechowywania | Określa okres i poziom buforowania danych. To ustawienie bezpośrednio wpływa na wydajność zapytań i koszt wdrożenia. |
logiczna partycja danych | index | database | Umożliwia logiczne rozdzielenie danych. Obie implementacje umożliwiają łączenie i łączenie między tymi partycjami. |
metadane zdarzeń strukturalnych | Nie dotyczy | tabela | Splunk nie ujawnia koncepcji metadanych zdarzeń w języku wyszukiwania. Dzienniki usługi Kusto mają pojęcie tabeli, która zawiera kolumny. Każde wystąpienie zdarzenia jest mapowane na wiersz. |
rejestrowanie | event | wiersz | Tylko zmiana terminologii. |
atrybut rekordu | pole | kolumna | W usłudze Kusto to ustawienie jest wstępnie zdefiniowane w ramach struktury tabeli. W rozwiązaniu Splunk każde zdarzenie ma własny zestaw pól. |
types (typy) | Datatype | Datatype | Typy danych usługi Kusto są bardziej jawne, ponieważ są one ustawiane w kolumnach. Obie mają możliwość dynamicznej pracy z typami danych i w przybliżeniu równoważnym zestawem typów danych, w tym obsługą formatu JSON. |
zapytanie i wyszukiwanie | search | query | Pojęcia zasadniczo są takie same między Kusto i Splunk. |
czas pozyskiwania zdarzeń | czas systemowy | ingestion_time() |
W rozwiązaniu Splunk każde zdarzenie otrzymuje sygnaturę czasową systemu czasu indeksowania zdarzenia. W usłudze Kusto można zdefiniować zasady o nazwie ingestion_time, które uwidacznia kolumnę systemową, do której można się odwoływać za pośrednictwem funkcji ingestion_time(). |
Funkcje
W poniższej tabeli przedstawiono funkcje w usłudze Kusto, które są równoważne funkcjom Splunk.
Splunk | Kusto | Komentarz |
---|---|---|
strcat |
strcat() |
(1) |
split |
split() |
(1) |
if |
iff() |
(1) |
tonumber |
todouble() tolong() toint() |
(1) |
upper lower |
toupper() tolower() |
(1) |
replace |
replace_string() , replace_strings() lub replace_regex() |
(1) Chociaż replace funkcje przyjmują trzy parametry w obu produktach, parametry są różne. |
substr |
substring() |
(1) Należy również zauważyć, że Splunk używa indeksów opartych na jednym obiekcie. Usługa Kusto zauważa indeksy oparte na zerach. |
tolower |
tolower() |
(1) |
toupper |
toupper() |
(1) |
match |
matches regex |
(2) |
regex |
matches regex |
In Splunk jest regex operatorem. W usłudze Kusto jest to operator relacyjny. |
searchmatch |
== | Funkcja Splunk searchmatch umożliwia wyszukiwanie dokładnego ciągu. |
random |
rand() rand(n) |
Funkcja Splunk zwraca liczbę z zakresu od zera do 231–1. Funkcja Kusto zwraca liczbę z zakresu od 0,0 do 1,0 lub jeśli podano parametr z zakresu od 0 do n-1. |
now |
now() |
(1) |
relative_time |
totimespan() |
(1) W Kusto odpowiednik relative_time(datetimeVal, offsetVal) datetimeVal + totimespan(offsetVal) Splunk jest .Na przykład search | eval n=relative_time(now(), "-1d@d") staje się .... | extend myTime = now() - totimespan("1d") |
(1) W funkcji Splunk funkcja jest wywoływana przy użyciu eval
operatora . W usłudze extend
Kusto jest on używany jako część elementu lub project
.
(2) W funkcji Splunk funkcja jest wywoływana eval
przy użyciu operatora . W usłudze Kusto można go używać z operatorem where
.
Operatory
W poniższych sekcjach przedstawiono przykłady używania różnych operatorów w narzędziach Splunk i Kusto.
Uwaga
W poniższych przykładach pole rule
Splunk mapuje na tabelę w usłudze Kusto i domyślną sygnaturę czasową splunku na kolumnę Logs Analytics ingestion_time()
.
Wyszukaj
W narzędziu search
Splunk można pominąć słowo kluczowe i określić ciąg bez cudzysłów. W usłudze Kusto należy uruchomić każde zapytanie z ciągiem find
bez cudzysłów, a wartość odnośnika musi być ciągiem cytowanym.
Produkt | Operator | Przykład |
---|---|---|
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) |
Filtr
Zapytania dziennika Kusto zaczynają się od zestawu wyników tabelarycznych, w którym filter
jest stosowany. W funkcji Splunk filtrowanie jest domyślną operacją na bieżącym indeksie. Możesz również użyć operatora w narzędziu where
Splunk, ale nie zalecamy go.
Produkt | Operator | Przykład |
---|---|---|
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) |
Pobieranie n zdarzeń lub wierszy do inspekcji
Zapytania dziennika Kusto obsługują take
również alias do limit
usługi . Jeśli wyniki są uporządkowane w splunku, head
zwraca pierwsze n wyników. W usłudze Kusto limit
nie jest uporządkowane, ale zwraca pierwsze n znalezionych wierszy.
Produkt | Operator | Przykład |
---|---|---|
Splunk | head |
Event.Rule=330009.2 | head 100 |
Kusto | limit |
Office_Hub_OHubBGTaskError | limit 100 |
Pobieranie pierwszych n zdarzeń lub wierszy uporządkowanych według pola lub kolumny
W przypadku dolnych wyników w narzędziu Splunk użyj polecenia tail
. W usłudze Kusto można określić kierunek porządkowania przy użyciu polecenia asc
.
Produkt | Operator | Przykład |
---|---|---|
Splunk | head |
Event.Rule="330009.2" | sort Event.Sequence | head 20 |
Kusto | top |
Office_Hub_OHubBGTaskError | top 20 by Event_Sequence |
Rozszerzanie zestawu wyników przy użyciu nowych pól lub kolumn
Splunk ma funkcję, ale nie jest porównywalna z operatorem eval
eval
w usłudze Kusto. Zarówno operator w narzędziu eval
Splunk, jak extend
i operator w usłudze Kusto obsługują tylko funkcje skalarne i operatory arytmetyczne.
Produkt | Operator | Przykład |
---|---|---|
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") |
Zmień nazwę
Usługa Kusto używa project-rename
operatora do zmiany nazwy pola. W operatorze project-rename
zapytanie może korzystać z wszystkich indeksów, które są wstępnie utworzone dla pola. Splunk ma rename
operator, który robi to samo.
Produkt | Operator | Przykład |
---|---|---|
Splunk | rename |
Event.Rule=330009.2 | rename Date.Exception as execption |
Kusto | project-rename |
Office_Hub_OHubBGTaskError | project-rename exception = Date_Exception |
Formatowanie wyników i projekcji
Funkcja Splunk używa polecenia , table
aby wybrać kolumny do uwzględnienia w wynikach. Kusto ma project
operator, który robi to samo i nie tylko.
Produkt | Operator | Przykład |
---|---|---|
Splunk | table |
Event.Rule=330009.2 | table rule, state |
Kusto | project |
Office_Hub_OHubBGTaskError | project exception, state |
Funkcja Splunk używa polecenia , field -
aby wybrać kolumny do wykluczenia z wyników. Kusto ma project-away
operator, który robi to samo.
Produkt | Operator | Przykład |
---|---|---|
Splunk | fields - |
Event.Rule=330009.2 | fields - quota, hightest_seller |
Kusto | project-away |
Office_Hub_OHubBGTaskError | project-away exception, state |
Agregacja
Zapoznaj się z listą dostępnych funkcji agregacji podsumowania .
Operator Splunk | Przykład splunk | Operator Kusto | Przykład kusto |
---|---|---|---|
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 |
Dołączanie
join
w splunku ma znaczne ograniczenia. Podzapytywanie ma limit 10 000 wyników (ustawiony w pliku konfiguracji wdrożenia), a dostępna jest ograniczona liczba smaków sprzężenia.
Produkt | Operator | Przykład |
---|---|---|
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 |
Sortowanie
W narzędziu reverse
Splunk, aby posortować w kolejności rosnącej, musisz użyć operatora . Usługa Kusto obsługuje również definiowanie lokalizacji, w której należy umieścić wartości null na początku lub na końcu.
Produkt | Operator | Przykład |
---|---|---|
Splunk | sort |
Event.Rule=120103 | sort Data.Hresult | reverse |
Kusto | order by |
Office_Hub_OHubBGTaskError | order by Data_Hresult, desc |
Rozwiń wielowartościowe
Operator rozszerzania wielowartościowego jest podobny zarówno w narzędziu Splunk, jak i Kusto.
Produkt | Operator | Przykład |
---|---|---|
Splunk | mvexpand |
mvexpand solutions |
Kusto | mv-expand |
mv-expand solutions |
Aspekty wyników, interesujące pola
W usłudze Log Analytics w Azure Portal uwidoczniona jest tylko pierwsza kolumna. Wszystkie kolumny są dostępne za pośrednictwem interfejsu API.
Produkt | Operator | Przykład |
---|---|---|
Splunk | fields |
Event.Rule=330009.2 | fields App.Version, App.Platform |
Kusto | facets |
Office_Excel_BI_PivotTableCreate | facet by App_Branch, App_Version |
Deduplikacja
W usłudze Kusto można użyć summarize arg_min()
polecenia , aby odwrócić kolejność wybranego rekordu.
Produkt | Operator | Przykład |
---|---|---|
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 |
Zawartość pokrewna
- Zapoznaj się z samouczkiem dotyczącym język zapytań Kusto.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla