Vytvoření základních dotazů protokolu služby Azure Monitor pro extrakci informací z dat protokolů

Dokončeno

Dotazy na protokoly služby Azure Monitor můžete použít k extrakci informací z dat protokolu. Dotazování je důležitou součástí zkoumání dat protokolu, která Azure Monitor zaznamenává.

V ukázkovém scénáři bude provozní tým používat dotazy protokolu služby Azure Monitor ke kontrole stavu systému.

Zápis dotazů na protokoly služby Azure Monitor pomocí Log Analytics

Nástroj Log Analytics najdete na webu Azure Portal a můžete ho použít ke spouštění ukázkových dotazů nebo k vytváření vlastních dotazů:

  1. Na webu Azure Portal v levém podokně nabídek vyberte Sledovat.

    Zobrazí se stránka Azure Monitor spolu s dalšími možnostmi, včetně protokolu aktivit, upozornění, metrik a protokolů.

  2. Vyberte Protokoly.

    Tady můžete zadat dotaz a zobrazit výstup.

    Screenshot of Azure Monitor with a new query tab opened.

Psaní dotazů pomocí jazyka Kusto

K dotazování informací protokolu pro služby spuštěné v Azure můžete použít dotazovací jazyk Kusto. Dotaz Kusto je požadavek jen pro čtení na zpracování dat a vrácení výsledků. Dotaz uvedete ve formátu prostého textu pomocí modelu toku dat, který je navržený tak, aby se syntaxe snadno četla, zapisovat a automatizovala. Dotaz používá entity schématu uspořádané v hierarchii podobné databázi Azure SQL Database: databáze, tabulky a sloupce.

Dotaz Kusto se skládá z posloupnosti příkazů dotazu oddělených středníkem (;). Alespoň jeden příkaz je příkaz tabulkového výrazu. Příkaz tabulkového výrazu formátuje data uspořádaná jako tabulka sloupců a řádků.

Syntaxe příkazu tabulkového výrazu má tabulkový tok dat z jednoho operátoru tabulkového dotazu do druhého počínaje zdrojem dat. Zdrojem dat může být tabulka v databázi nebo operátor, který vytváří data. Data pak procházejí sadou operátorů transformace dat, které jsou svázané s oddělovačem svislé roury (|).

Například následující dotaz Kusto obsahuje jeden příkaz tabulkového výrazu. Příkaz začíná odkazem na tabulku s názvem Events. Databáze, která je hostitelem této tabulky, je zde implicitní a je součástí informací o připojení. Data pro tuto tabulku uložená v řádcích se filtrují podle hodnoty StartTime sloupce. Data se dále filtrují podle hodnoty State sloupce. Dotaz pak vrátí počet výsledných řádků.

Events
| where StartTime >= datetime(2018-11-01) and StartTime < datetime(2018-12-01)
| where State == "FLORIDA"  
| count

Poznámka

Dotazovací jazyk Kusto, který Azure Monitor používá, rozlišují malá a velká písmena. Klíčová slova jazyka se obvykle zapisují malými písmeny. Pokud v dotazu používáte názvy tabulek nebo sloupců, nezapomeňte použít správný případ.

Události zachycené z protokolů událostí monitorovaných počítačů jsou pouze jedním typem zdroje dat. Azure Monitor nabízí mnoho dalších typů zdrojů dat. Zdroj dat například Heartbeat hlásí stav všech počítačů, které sestaví do pracovního prostoru služby Log Analytics. Můžete také zaznamenávat data z čítačů výkonu a záznamů správy aktualizací.

Následující příklad načte nejnovější záznam prezenčních signálů pro každý počítač. Počítač je identifikován jeho IP adresou. V tomto příkladu summarize arg_max agregace s funkcí vrátí záznam s nejnovější hodnotou pro každou IP adresu.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP