Hasznos tanácsok a Splunkról Kustóra váltáshoz
Ez a cikk a Splunkot ismerő felhasználóknak nyújt segítséget a napló lekérdezések a Kusto-val való írásához szükséges Kusto lekérdezésnyelv elsajátításához. A két fő különbség és hasonlóság közvetlen összehasonlítására van lehetőség, így a meglévő tudásra építhet.
Struktúra és fogalmak
Az alábbi táblázat a Splunk- és a Kusto-naplók fogalmait és adatstruktúráit hasonlítja össze:
Fogalom | Splunk | Kusto | Megjegyzés |
---|---|---|---|
üzembehelyezési egység | cluster | cluster | A Kusto tetszőleges fürtök közötti lekérdezéseket engedélyez. Splunk nem. |
adat-gyorsítótárak | Vödör | gyorsítótárazási és adatmegőrzési szabályzatok | Szabályozza az adatok időtartamát és gyorsítótárazási szintjét. Ez a beállítás közvetlenül befolyásolja a lekérdezések teljesítményét és az üzembe helyezés költségét. |
adatok logikai partíciója | index | adatbázis | Lehetővé teszi az adatok logikai elkülönítését. Mindkét implementáció lehetővé teszi az egyesítőket és a csatlakozást ezeken a partíciókon. |
strukturált esemény metaadatai | N/A | tábla | A Splunk nem teszi elérhetővé az esemény metaadatainak fogalmát a keresési nyelvnek. A Kusto-naplók egy oszlopokat tartalmazó táblázat fogalmát tartalmazzák. Minden eseménypéldány egy sorra van leképezve. |
Rekord | Esemény | sor | Csak a terminológia változik. |
record attribútum | mező | oszlop | A Kusto-ban ez a beállítás előre definiálva van a táblaszerkezet részeként. A Splunkban minden esemény saját mezőkészlettel rendelkezik. |
types | Adattípus | Adattípus | A Kusto-adattípusok explicitebbek, mert az oszlopokon vannak beállítva. Mindkettő képes dinamikusan együttműködni az adattípusokkal és nagyjából egyenértékű adattípusokkal, beleértve a JSON-támogatást is. |
lekérdezés és keresés | keresés | query | A fogalmak alapvetően megegyeznek a Kusto és a Splunk között. |
eseménybetöltési idő | rendszeridő | ingestion_time() |
A Splunk-ban minden esemény megkapja az esemény indexelésének idejét jelző rendszeridőbélyeget. A Kusto-ban definiálhat egy ingestion_time nevű szabályzatot, amely elérhetővé tesz egy rendszeroszlopot, amely a ingestion_time() függvényen keresztül hivatkozható. |
Functions
Az alábbi táblázat a Kusto Splunk-függvényekkel egyenértékű függvényeit határozza meg.
Splunk | Kusto | Megjegyzés |
---|---|---|
strcat |
strcat() |
(1) |
split |
split() |
(1) |
if |
iff() |
(1) |
tonumber |
todouble() tolong() toint() |
(1) |
upper lower |
toupper() tolower() |
(1) |
replace |
replace_string() , replace_strings() vagy replace_regex() |
(1) Bár replace a függvények mindkét termékben három paramétert használnak, a paraméterek eltérőek. |
substr |
substring() |
(1) Azt is vegye figyelembe, hogy a Splunk egy-alapú indexeket használ. A Kusto nulla alapú indexeket jegyez fel. |
tolower |
tolower() |
(1) |
toupper |
toupper() |
(1) |
match |
matches regex |
(2) |
regex |
matches regex |
A Splunk regex egy operátor. A Kusto-ban ez egy relációs operátor. |
searchmatch |
== | A Splunk searchmatch alkalmazásban lehetővé teszi a pontos sztring keresését. |
random |
rand() rand(n) |
A Splunk függvény nulla és 231–1 közötti számot ad vissza. A Kusto értéke egy 0,0 és 1,0 közötti számot ad vissza, vagy ha paraméter van megadva, 0 és n-1 között. |
now |
now() |
(1) |
relative_time |
totimespan() |
(1) A Kusto-ban a Splunk megfelelője relative_time(datetimeVal, offsetVal) a .datetimeVal + totimespan(offsetVal) Például a következő lesz ... extend myTime = now() - totimespan("1d") | : . search | eval n=relative_time(now(), "-1d@d") |
(1) A Splunk esetében a függvény meghívása az eval
operátorral történik. A Kusto-ban a vagy project
a extend
részeként használják.
(2) A Splunkban a függvény meghívása az eval
operátor használatával történik. A Kusto-ban az operátorral where
használható.
Operátorok
Az alábbi szakaszok példákat mutatnak be a Splunk és a Kusto különböző operátorainak használatára.
Megjegyzés
Az alábbi példákban a Splunk mező rule
leképez egy Kusto-táblára, a Splunk alapértelmezett időbélyege pedig a Logs Analytics ingestion_time()
oszlopra lesz leképezve.
Keresés
A Splunk alkalmazásban kihagyhatja a search
kulcsszót, és megadhat egy nem kvótált sztringet. A Kusto-ban minden lekérdezést a következővel find
kell kezdenie: , a nem kvótált sztring egy oszlopnév, a keresési értéknek pedig egy idézőjeles sztringnek kell lennie.
Termék | Operátor | Példa |
---|---|---|
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) |
Szűrő
A Kusto-napló lekérdezései egy táblázatos eredménykészletből indulnak ki, amelyben filter
az alkalmazás történik. A Splunk esetében a szűrés az aktuális index alapértelmezett művelete. A Splunkban is használhatja az where
operátort, de nem javasoljuk.
Termék | Operátor | Példa |
---|---|---|
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) |
N esemény vagy sor lekérése vizsgálathoz
A Kusto-napló lekérdezései aliasként is támogatják take
a parancsot limit
. A Splunkban, ha az eredmények rendezve vannak, head
az első n eredményt adja vissza. A Kusto-ban nincs rendezve, limit
de a talált első n sort adja vissza.
Termék | Operátor | Példa |
---|---|---|
Splunk | head |
Event.Rule=330009.2 | head 100 |
Kusto | limit |
Office_Hub_OHubBGTaskError | limit 100 |
Az első n esemény vagy sor lekérése mező vagy oszlop szerint rendezve
Az alsó eredményeknél a Splunkban a következőt kell használnia tail
: . A Kusto-ban a paranccsal asc
adhatja meg a sorrend irányát.
Termék | Operátor | Példa |
---|---|---|
Splunk | head |
Event.Rule="330009.2" | sort Event.Sequence | head 20 |
Kusto | top |
Office_Hub_OHubBGTaskError | top 20 by Event_Sequence |
Az eredményhalmaz kiterjesztése új mezőkkel vagy oszlopokkal
A Splunk rendelkezik egy eval
függvénnyel, de nem hasonlítható össze a eval
Kusto operátorával. eval
A Splunk operátora és a extend
Kusto operátora is csak a skaláris függvényeket és az aritmetikai operátorokat támogatja.
Termék | Operátor | Példa |
---|---|---|
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") |
Átnevezés
A Kusto az project-rename
operátorral nevez át egy mezőt. Az operátorban a project-rename
lekérdezések kihasználhatják a mezőkhöz előre összeállított indexeket. A Splunknak van egy rename
operátora, amely ugyanezt teszi.
Termék | Operátor | Példa |
---|---|---|
Splunk | rename |
Event.Rule=330009.2 | rename Date.Exception as execption |
Kusto | project-rename |
Office_Hub_OHubBGTaskError | project-rename exception = Date_Exception |
Eredmények és leképezés formázása
A Splunk a table
paranccsal választja ki, hogy mely oszlopok szerepeljenek az eredmények között. A Kusto rendelkezik egy operátorral project
, amely ugyanezt és többet is tesz.
Termék | Operátor | Példa |
---|---|---|
Splunk | table |
Event.Rule=330009.2 | table rule, state |
Kusto | project |
Office_Hub_OHubBGTaskError | project exception, state |
A Splunk a field -
paranccsal választja ki, hogy mely oszlopokat zárja ki az eredmények közül. A Kusto rendelkezik egy project-away
operátorral, amely ugyanezt teszi.
Termék | Operátor | Példa |
---|---|---|
Splunk | fields - |
Event.Rule=330009.2 | fields - quota, hightest_seller |
Kusto | project-away |
Office_Hub_OHubBGTaskError | project-away exception, state |
Összesítés
Tekintse meg az elérhető összesítési függvények listáját .
Splunk operátor | Példa splunkra | Kusto operátor | Kusto-példa |
---|---|---|---|
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 |
Csatlakozás
join
A Splunk jelentős korlátozásokkal rendelkezik. Az alkonfiguráció korlátja 10 000 (az üzembehelyezési konfigurációs fájlban van megadva), és korlátozott számú illesztés-íz érhető el.
Termék | Operátor | Példa |
---|---|---|
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 |
Rendezés
A Splunkban növekvő sorrendben történő rendezéshez az operátort reverse
kell használnia. A Kusto azt is támogatja, hogy hol helyezzen el null értékeket, akár az elején, akár a végén.
Termék | Operátor | Példa |
---|---|---|
Splunk | sort |
Event.Rule=120103 | sort Data.Hresult | reverse |
Kusto | order by |
Office_Hub_OHubBGTaskError | order by Data_Hresult, desc |
Többértékű kibontás
A többértékű kibontás operátor a Splunk és a Kusto esetén is hasonló.
Termék | Operátor | Példa |
---|---|---|
Splunk | mvexpand |
mvexpand solutions |
Kusto | mv-expand |
mv-expand solutions |
Eredmény aspektusai, érdekes mezők
A Log Analyticsben a Azure Portal csak az első oszlop jelenik meg. Minden oszlop az API-val érhető el.
Termék | Operátor | Példa |
---|---|---|
Splunk | fields |
Event.Rule=330009.2 | fields App.Version, App.Platform |
Kusto | facets |
Office_Excel_BI_PivotTableCreate | facet by App_Branch, App_Version |
Deduplikátum
A Kusto használatával summarize arg_min()
megfordíthatja a kiválasztott rekord sorrendjét.
Termék | Operátor | Példa |
---|---|---|
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 |
Kapcsolódó tartalom
- Útmutató a Kusto lekérdezésnyelv.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: