Oktatóanyag: Gyakori operátorok megismerése

A Kusto lekérdezésnyelv (KQL) lekérdezések írására szolgál az Azure Data Explorer, az Azure Monitor Log Analytics, az Azure Sentinel és egyebek között. Ez az oktatóanyag bemutatja az adatok eléréséhez és elemzéséhez használt alapvető KQL-operátorokat.

A naplók Azure Monitorban való lekérdezésével kapcsolatos további útmutatásért lásd: A napló lekérdezéseinek első lépései.

Megjegyzés

Nem találja, amit keres? Ezt a cikket nemrég osztották fel, az alábbiak szerint:

Ebből az oktatóanyagból az alábbiakat sajátíthatja el:

Az oktatóanyagban szereplő példák a StormEventssúgófürtben nyilvánosan elérhető táblát használják. Ha saját adataival szeretne megismerkedni, hozzon létre egy saját ingyenes fürtöt.

Előfeltételek

  • Microsoft-fiók vagy Microsoft Entra felhasználói identitás a súgófürtbe való bejelentkezéshez

Sorok számlálása

Először használja a count operátort a táblában lévő StormEvents stormrekordok számának megkereséséhez.

StormEvents 
| count

Kimenet

Darabszám
59066

Mintaadatok megtekintése

Az adatok értelmezéséhez használja a take operátort a rekordok mintájának megtekintéséhez. Ez az operátor megadott számú tetszőleges sort ad vissza a táblából, ami hasznos lehet az általános adatstruktúra és -tartalom előnézetének megtekintéséhez.

StormEvents 
| take 5

Az alábbi táblázat a 22 visszaadott oszlopból csak 6-ot mutat be. A teljes kimenet megtekintéséhez futtassa a lekérdezést.

StartTime EndTime EpisodeId EventId Állapot EventType ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Tornádó ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12554 68796 MISSISSIPPI Zivatar szél ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GRÚZIA Zivatar szél ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTI-ÓCEÁN DÉLI RÉGIÓJA Vízspout ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Nagy eső ...

Oszlopok részhalmazának kiválasztása

A projekt operátorával egyszerűsítheti a nézetet, és kiválaszthatja az oszlopok egy adott részhalmazát. A használata project gyakran hatékonyabb és könnyebben olvasható, mint az összes oszlop megtekintése.

StormEvents
| take 5
| project State, EventType, DamageProperty

Kimenet

Állapot EventType DamageProperty
ATLANTI-ÓCEÁN DÉLI RÉGIÓJA Vízspout 0
FLORIDA Nagy eső 0
FLORIDA Tornádó 6200000
GRÚZIA Zivatar szél 2000
MISSISSIPPI Zivatar szél 20000

Egyedi értékek listázása

Úgy tűnik, hogy az előző lekérdezés eredményei alapján több típusú vihar is létezik. A distinct operátorral listázhatja az összes egyedi vihartípust.

StormEvents 
| distinct EventType

A táblázatban 46 típusú vihar van. Íme egy minta 10-ből.

EventType
Zivatar szél
Jégeső
Villámárviz
Aszály
Téli időjárás
Téli vihar
Nehéz hó
Magas szél
Fagy/fagy
Árvíz
...

Szűrés feltétel szerint

A where operátor bizonyos feltételek alapján szűri az adatsorokat.

A következő lekérdezés a stormeseményeket keresi egy adott StateEventTypeadott elemet illetően.

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

146 esemény felel meg ezeknek a feltételeknek. Íme egy 5-ből álló minta.

StartTime EndTime Állapot EventType DamageProperty
2007-01-13T08:45:00Z 2007-01-13T10:30:00Z TEXAS Árvíz 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Árvíz 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Árvíz 0
2007-01-15T22:00:00Z 2007-01-16T22:00:00Z TEXAS Árvíz 20000
2007-03-12T02:30:00Z 2007-03-12T06:45:00Z TEXAS Árvíz 0
... ... ... ... ...

Az eredmények rendezése

A legnagyobb kárt okozó texasi árvizek megtekintéséhez használja a rendezési operátort a sorok csökkenő sorrendbe rendezéséhez az DamageProperty oszlop alapján. Az alapértelmezett rendezési sorrend csökkenő. Növekvő sorrendben történő rendezéshez adja meg a következőt asc: .

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

Kimenet

StartTime EndTime Állapot EventType DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Árvíz 5000000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Árvíz 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Árvíz 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Árvíz 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Árvíz 750000
... ... ... ... ...

A felső n sor lekérése

A felső operátor az első n sort adja vissza a megadott oszlop szerint rendezve.

A következő lekérdezés azt az öt texasi árvízet adja vissza, amely a leginkább sérült tulajdonságot okozta.

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

Kimenet

StartTime EndTime Állapot EventType DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Árvíz 5000000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Árvíz 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Árvíz 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Árvíz 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Árvíz 750000

Megjegyzés

Az operátorok sorrendje fontos. Ha korábban where idetettetop, eltérő eredményeket fog kapni. Ennek az az oka, hogy az adatokat az egyes operátorok sorrendben alakítják át. További információ: táblázatos kifejezési utasítások.

Számított oszlopok létrehozása

A projekt és a kiterjesztő operátorok egyaránt létrehozhatnak számított oszlopokat.

A használatával project csak a megtekinteni kívánt oszlopokat adhatja meg, a extend számított oszlopot pedig a tábla végéhez fűzheti.

A következő lekérdezés létrehoz egy számított Duration oszlopot, amely a és EndTimea StartTime közötti különbséget tartalmazza. Mivel csak néhány oszlopot szeretnénk megtekinteni, a használata project ebben az esetben a jobb választás.

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

Kimenet

StartTime EndTime Időtartam Kártulajdonság
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

Ha megnézzük a kiszámított oszlopot Duration , észreveheti, hogy a legnagyobb kárt okozó árvíz is a leghosszabb árvíz volt.

A számított Duration oszlop és az összes többi oszlop megtekintésére használhatóextend. Az Duration oszlop az utolsó oszlopként lesz hozzáadva.

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

Kimenet

StartTime EndTime ... Időtartam
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

Értékek leképezése egyik halmazból a másikba

A statikus leképezés hasznos módszer az eredmények megjelenítésének módosítására. A KQL-ben a statikus leképezés végrehajtásának egyik módja egy dinamikus szótár és kiegészítő használata az értékek egyik készletről a másikra való leképezéséhez.

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

Kimenet

EventId Forrás FriendlyName
68796 Vészmenedzser Nyilvános
... ... ...
72609 Közüzemi vállalat Személyes
... ... ...

Következő lépés

Most, hogy már ismeri a Kusto-lekérdezések írásának alapjait, folytassa a következő oktatóanyaggal, és ismerje meg, hogyan használhatja az összesítő függvényeket az adatok mélyebb megismeréséhez.