Vytvoření základních dotazů protokolu služby Azure Monitor k získání informací z dat protokolu

Dokončeno

Dotazy na protokoly služby Azure Monitor můžete použít k extrakci informací z dat protokolu. Dotazy hrají důležitou roli při zkoumání dat protokolu zachycených službou Azure Monitor.

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

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

Nástroj Log Analytics najdete na webu Azure Portal a můžete ho použít ke spuštění ukázkových dotazů nebo k vytvoř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.

    Snímek obrazovky se službou Azure Monitor s otevřenou kartou pro nový dotaz

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, které jsou uspořádány v hierarchii podobné hierarchii Azure SQL Database: databáze, tabulky a sloupce.

Dotaz Kusto se skládá z posloupnosti příkazů dotazu oddělených středníkem (;). Nejméně jeden příkaz je příkaz tabulkového výrazu. Příkaz tabulkového výrazu formátuje data uspořádaná do tabulky složené ze 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 má jediný příkaz tabulkového výrazu. Příkaz začíná odkazem na tabulku s názvem Events. Databáze hostující tuto tabulku je tady implicitní a je součástí informací o připojení. Data pro tuto tabulku, uložená v řádcích, jsou filtrována podle hodnoty sloupce StartTime. Data jsou dále filtrována podle hodnoty sloupce State. 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 používaný službou Azure Monitor rozlišuje velká a malá písmena. Klíčová slova jazyka se obvykle zapisují malými písmeny. Při používání názvů tabulek nebo sloupců v dotazu dejte pozor na správné použití malých a velkých písmen.

Události zachycené z protokolů událostí monitorovaných počítačů jsou pouze jedním typem zdroje dat. Azure Monitor poskytuje mnoho dalších typů zdrojů dat. Například zdroj dat Heartbeat hlásí stav všech počítačů, které podávají zprávy do vašeho 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ího signálu každého počítače. Počítač se identifikuje prostřednictvím IP adresy. V tomto příkladu agregace summarize s funkcí arg_max vrátí záznam s nejnovější hodnotou pro každou IP adresu.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP