Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Kusto Query Language (KQL) je výkonný nástroj pro zkoumání dat a zjišťování vzorů, identifikaci anomálií a odlehlých hodnot, vytváření statistických modelů a další.
KQL je jednoduchý, ale výkonný jazyk pro dotazování strukturovaných, částečně strukturovaných a nestrukturovaných dat. Jazyk je vyjadřovací, snadno se čte, usnadňuje pochopení záměru dotazu a je optimalizovaný pro práci při tvorbě obsahu. KQL je optimální pro dotazování telemetrie, metrik a protokolů s hlubokou podporou vyhledávání a analýzy textu, operátorů a funkcí časových řad, analýz a agregace, geoprostorových vyhledávání, vyhledávání vektorů a mnoha dalších jazykových konstruktorů, které poskytují nejoptimálnější jazyk pro analýzu dat. Dotaz používá entity schématu uspořádané v hierarchii podobné SQL: databáze, tabulky a sloupce.
Pokud máte zkušenosti se skriptováním nebo prací s databázemi, měla by být většina obsahu tohoto článku povědomá. Pokud ne, nemějte obavy, protože intuitivní povaha jazyka vám umožní rychle začít psát vlastní dotazy a řídit hodnotu pro vaši organizaci.
Tento článek obsahuje vysvětlení dotazovacího jazyka a nabízí praktická cvičení, která vám pomůžou začít psát dotazy. Pokud chcete získat přístup k prostředí dotazu, použijtewebové uživatelské rozhraní Azure Data Exploreru
Tento článek obsahuje vysvětlení dotazovacího jazyka a nabízí praktická cvičení, která vám pomůžou začít psát dotazy. Pro přístup k prostředí pro dotazy použijte sady dotazů KQL. Informace o používání jazyka KQL najdete v kurzu: Naučte se běžné operátory.
KQL je také jazyk, který používáte k práci s daty a manipulaci s nimi v Microsoft Sentinelu. Protokoly, které nahrajete do svého pracovního prostoru, nemají velkou hodnotu, pokud je nemůžete analyzovat a získat z nich důležité informace skryté ve všech těch datech. KQL má nejen výkon a flexibilitu pro získání informací, ale jednoduchost, která vám pomůže rychle začít.
Tento článek představuje základy KQL, které pokrývají některé z nejčastěji používaných funkcí a operátorů, které by měly adresovat 75 až 80 procent dotazů, které uživatelé zapisují každý den. Pokud potřebujete větší hloubku nebo chcete spouštět pokročilejší dotazy, můžete využít sešit Advanced KQL pro Microsoft Sentinel.
Proč KQL pro Microsoft Sentinel?
Služba Microsoft Sentinel je založená na službě Azure Monitor a využívá pracovní prostory služby Log Analytics služby Azure Monitor k ukládání všech dat. Tato data zahrnují některou z následujících možností:
- data ingestovaná z externích zdrojů do předdefinovaných tabulek pomocí datových konektorů Microsoft Sentinelu.
- data načtená z externích zdrojů do vlastních tabulek definovaných uživatelem pomocí uživatelem vytvořených datových konektorů a některých typů předem připravených konektorů.
- data vytvořená samotnou službou Microsoft Sentinel, která jsou výsledkem analýz, které vytváří a provádí – například výstrahy, incidenty a informace související s UEBA.
- data nahraná do Microsoft Sentinelu, která pomáhají s detekcí a analýzou – například informační kanály analýzy hrozeb a seznamy ke zhlédnutí.
KQL byl vyvinut jako součást služby Azure Data Explorer a je proto optimalizovaný pro vyhledávání prostřednictvím úložišť velkých objemů dat v cloudovém prostředí. Je navržená tak, aby vám pomohla ponořit se do dat a prozkoumat skryté poklady.
KQL se také používá ve službě Azure Monitor a podporuje další funkce Azure Monitoru, které umožňují načítat, vizualizovat, analyzovat a analyzovat data v úložištích dat Log Analytics. V Microsoft Sentinelu používáte nástroje založené na jazyce KQL pokaždé, když vizualizujete a analyzujete data a vyhledáváte hrozby, ať už v existujících pravidlech a sešitech, nebo při vytváření vlastních.
Vzhledem k tomu, že KQL je součástí téměř všeho, co v Microsoft Sentinelu děláte, jasný přehled o tom, jak to funguje, vám pomůže dosáhnout toho více ze svého SIEM.
Co je dotaz Kusto?
Dotaz v jazyce Kusto je požadavek pouze pro čtení, který slouží ke zpracování dat a vracení výsledků. Požadavek je vyjádřen v prostém textu pomocí modelu toku dat, který lze snadno číst, vytvářet a automatizovat. Dotazy Kusto se skládají z jednoho nebo více dotazovacích příkazů.
Dotaz Kusto nezapisuje žádná data. Dotazy pracují s daty uspořádanými do hierarchie databází, tabulek a sloupců, podobně jako SQL.
Co je dotaz?
Existují tři druhy příkazů dotazu uživatele:
- Příkaz tabulárního výrazu
- Příkaz let
- Příkaz set
Všechny příkazy dotazu jsou odděleny znakem ; (středníkem) a ovlivňují pouze daný dotaz.
Poznámka
Informace o příkazech dotazu aplikace naleznete v tématu příkazy dotazu aplikace.
Nejběžnějším druhem příkazu dotazu je tabulkový výraz příkaz, což znamená, že jeho vstup i výstup se skládají z tabulek nebo tabulkových datových sad. Tabulkové příkazy obsahují nula nebo více operátorů , z nichž každá začíná tabulkovým vstupem a vrací tabulkový výstup. Operátory jsou sekvencovány pomocí | (potrubí). Data proudí, nebo jsou předávána, od jednoho operátoru k dalšímu. Data se filtrují nebo manipulují v každém kroku a pak se předá do následujícího kroku.
Je to jako trychtýř, na jehož začátku máte celou tabulku dat. Pokaždé, když data procházejí jiným operátorem, filtrují se, přeuspořádají nebo shrnují. Vzhledem k tomu, že propojení informací z jednoho operátoru do druhého je sekvenční, je pořadí operátorů dotazu důležité a může ovlivnit výsledky i výkon. Na konci procesu získáte vyladěný výstup.
Podívejme se na příklad dotazu.
StormEvents
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"
| count
| Počet |
|---|
| 28 |
Poznámka
V jazyce KQL se u všeho rozlišují malá a velká písmena – názvy tabulek, názvy sloupců tabulky, operátory, funkce atd.
Klíčová slova lze použít jako identifikátory tak, že je uzavřete do závorek a uvozovek ([' a '] nebo [" a "]). Například ['where']. Další informace najdete v tématu pravidla pojmenování identifikátorů
Tento dotaz má jeden příkaz tabulkového výrazu. Příkaz začíná odkazem na tabulku s názvem StormEvents a obsahuje několik operátorů, where a count, každý oddělený kanálem. Řádky dat pro zdrojovou tabulku se filtrují podle hodnoty sloupce StartTime a potom filtrují podle hodnoty sloupce State. Dotaz na posledním řádku vrátí tabulku s jedním sloupcem a jedním řádkem obsahujícím počet zbývajících řádků.
Pokud si chcete vyzkoušet několik dalších dotazů Kusto, přečtěte si Kurz: Psaní dotazů Kusto.
Příkazy pro správu
Na rozdíl od dotazů Kusto jsou příkazy pro správu požadavky pro Kusto, aby zpracovalo nebo upravilo data či metadata. Například následující příkaz pro správu vytvoří novou tabulku Kusto se dvěma sloupci, Level a Text:
.create table Logs (Level:string, Text:string)
Příkazy pro správu mají vlastní syntaxi, která není součástí syntaxe KQL, i když tyto dva koncepty sdílejí mnoho konceptů. Konkrétně se příkazy pro správu rozlišují od dotazů tím, že mají první znak v textu příkazu tečku (.) znak (který nemůže spustit dotaz).
Toto rozlišení brání mnoha druhům útoků na zabezpečení, jednoduše proto, že brání vkládání příkazů pro správu do dotazů.
Ne všechny příkazy pro správu upravují data nebo metadata. Velká třída příkazů, které začínají .show, slouží k zobrazení metadat nebo dat. Například příkaz .show tables vrátí seznam všech tabulek v aktuální databázi.
Další informace o příkazech pro správu najdete v tématu Přehled příkazů správy.
KQL v jiných službách
KQL používá mnoho dalších služeb Microsoftu. Konkrétní informace o použití KQL v těchto prostředích najdete na následujících odkazech:
- dotazy protokolu ve službě Azure Monitor
- principy dotazovacího jazyka Azure Resource Graph
- Proaktivní vyhledávání hrozeb s pokročilým vyhledáváním v Microsoft Defender
- dotazy CMPivot
Související obsah
- Kurz : Seznámení s běžnými operátory
- Kurz: Použití agregačních funkcí
- Stručný přehled KQL
- Stručný přehled SQL a KQL
- Osvědčené postupy pro dotazy