Kurz: Ingestování dat a dotazování na data monitorování v Azure Data Exploreru

V tomto kurzu se naučíte, jak ingestovat data z diagnostických protokolů a protokolů aktivit do clusteru Azure Data Explorer bez psaní kódu. Pomocí této jednoduché metody příjmu dat můžete rychle začít dotazovat azure Data Explorer pro účely analýzy dat.

V tomto kurzu se naučíte:

  • Vytváření tabulek a mapování příjmu dat v databázi Azure Data Explorer
  • Naformátujte přijatá data pomocí zásad aktualizace.
  • Vytvořte centrum událostí a připojte ho k Azure Data Explorer.
  • Streamujte data do centra událostí z diagnostických metrik a protokolů a protokolů aktivit služby Azure Monitor.
  • Dotazování přijatých dat pomocí Azure Data Explorer.

Poznámka

Vytvořte všechny prostředky ve stejném umístění nebo oblasti Azure.

Požadavky

Poskytovatel dat služby Azure Monitor: Diagnostické metriky, protokoly a protokoly aktivit

Prohlédněte si data poskytovaná následujícími diagnostickými metrikami a protokoly a protokoly aktivit služby Azure Monitor a seznamte se s jejich pochopením. Na základě těchto schémat dat vytvoříte kanál pro příjem dat. Všimněte si, že každá událost v protokolu obsahuje pole záznamů. Toto pole záznamů bude rozděleno později v tomto kurzu.

Příklady diagnostických metrik a protokolů a protokolů aktivit

Diagnostické metriky Azure, protokoly a protokoly aktivit generují služba Azure a poskytují data o provozu této služby.

Příklad diagnostických metrik

Diagnostické metriky se agregují s časovým intervalem 1 minuta. Následuje příklad schématu událostí metriky Azure Data Explorer o době trvání dotazu:

{
    "records": [
    {
        "count": 14,
        "total": 0,
        "minimum": 0,
        "maximum": 0,
        "average": 0,
        "resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
        "time": "2018-12-20T17:00:00.0000000Z",
        "metricName": "QueryDuration",
        "timeGrain": "PT1M"
    },
    {
        "count": 12,
        "total": 0,
        "minimum": 0,
        "maximum": 0,
        "average": 0,
        "resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
        "time": "2018-12-21T17:00:00.0000000Z",
        "metricName": "QueryDuration",
        "timeGrain": "PT1M"
    }
    ]
}

Nastavení kanálu příjmu dat v Azure Data Explorer

Nastavení kanálu Azure Data Explorer zahrnuje několik kroků, jako je vytvoření tabulky a příjem dat. S daty můžete také manipulovat, mapovat je a aktualizovat.

Připojení k webovému uživatelskému rozhraní Azure Data Explorer

V databázi Azure Data Explorer TestDatabase výběrem možnosti Dotaz otevřete webové uživatelské rozhraní Azure Data Explorer.

Stránka dotazu.

Vytvoření cílových tabulek

Struktura protokolů Azure Monitoru není tabulková. S daty budete manipulovat a každou událost rozbalíte na jeden nebo více záznamů. Nezpracovaná data se ingestují do zprostředkující tabulky s názvem ActivityLogsRawRecords pro protokoly aktivit a Diagnostické Záznamy pro diagnostické metriky a protokoly. V té době bude s daty manipulováno a rozšířeno. Při použití zásad aktualizace se rozšířená data pak ingestují do tabulky ActivityLogs pro protokoly aktivit, Diagnostické metriky pro diagnostické metriky a Diagnostické protokoly pro diagnostické protokoly. To znamená, že budete muset vytvořit dvě samostatné tabulky pro ingestování protokolů aktivit a tři samostatné tabulky pro ingestování diagnostických metrik a protokolů.

Pomocí webového uživatelského rozhraní Azure Data Explorer vytvořte cílové tabulky v databázi Azure Data Explorer.

Vytvoření tabulek pro diagnostické metriky

  1. V databázi TestDatabase vytvořte tabulku s názvem DiagnosticMetrics , do které se uloží záznamy diagnostických metrik. Použijte následující .create table příkaz pro správu:

    .create table DiagnosticMetrics (Timestamp:datetime, ResourceId:string, MetricName:string, Count:int, Total:double, Minimum:double, Maximum:double, Average:double, TimeGrain:string)
    
  2. Vyberte Spustit a vytvořte tabulku.

    Spusťte dotaz.

  3. V databázi TestDatabase pro manipulaci s daty vytvořte tabulku zprostředkujících dat s názvem DiagnosticRawRecords pomocí následujícího dotazu. Vyberte Spustit a vytvořte tabulku.

    .create table DiagnosticRawRecords (Records:dynamic)
    
  4. Nastavte nulové zásady uchovávání informací pro zprostředkující tabulku:

    .alter-merge table DiagnosticRawRecords policy retention softdelete = 0d
    

Vytváření mapování tabulek

Vzhledem k tomu, že formát dat je json, vyžaduje se mapování dat. Mapování json mapuje každou cestu JSON na název sloupce tabulky. Cesty JSON, které obsahují speciální znaky, by měly být uchycené jako ['Název vlastnosti']. Další informace najdete v tématu Syntaxe JSONPath.

Mapování diagnostických metrik a protokolů na tabulku

Pokud chcete namapovat diagnostickou metriku a data protokolu na tabulku, použijte následující dotaz:

.create table DiagnosticRawRecords ingestion json mapping 'DiagnosticRawRecordsMapping' '[{"column":"Records","Properties":{"path":"$.records"}}]'

Vytvoření zásad aktualizace pro data metrik a protokolů

Vytvoření zásad aktualizace dat pro diagnostické metriky

  1. Vytvořte funkci , která rozbalí kolekci záznamů diagnostických metrik tak, aby každá hodnota v kolekci obdržela samostatný řádek. mv-expand Použijte operátor :

    .create function DiagnosticMetricsExpand() {
       DiagnosticRawRecords
       | mv-expand events = Records
       | where isnotempty(events.metricName)
       | project
           Timestamp = todatetime(events['time']),
           ResourceId = tostring(events.resourceId),
           MetricName = tostring(events.metricName),
           Count = toint(events['count']),
           Total = todouble(events.total),
           Minimum = todouble(events.minimum),
           Maximum = todouble(events.maximum),
           Average = todouble(events.average),
           TimeGrain = tostring(events.timeGrain)
    }
    
  2. Přidejte zásadu aktualizace do cílové tabulky. Tato zásada automaticky spustí dotaz na všechna nově přijatá data v tabulce zprostředkujících dat DiagnosticRawRecords a ingestuje jeho výsledky do tabulky DiagnosticMetrics :

    .alter table DiagnosticMetrics policy update @'[{"Source": "DiagnosticRawRecords", "Query": "DiagnosticMetricsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
    

Vytvoření oboru názvů Azure Event Hubs

Nastavení diagnostiky Azure umožňují exportovat metriky a protokoly do účtu úložiště nebo do centra událostí. V tomto kurzu budeme směrovat metriky a protokoly přes centrum událostí. V následujících krocích vytvoříte obor názvů centra událostí a centrum událostí pro diagnostické metriky a protokoly. Azure Monitor pro protokoly aktivit vytvoří přehledy-provozní-protokoly centra událostí.

  1. Vytvořte centrum událostí pomocí šablony Azure Resource Manager v Azure Portal. Pokud chcete postupovat podle zbývajících kroků v tomto článku, klikněte pravým tlačítkem na tlačítko Nasadit do Azure a pak vyberte Otevřít v novém okně. Tlačítko Nasadit do Azure vás přenese na Azure Portal.

    Tlačítko Nasadit do Azure

  2. Vytvořte obor názvů služby Event Hubs a centrum událostí pro diagnostické protokoly. Zjistěte, jak vytvořit obor názvů služby Event Hubs.

  3. Do formuláře zadejte následující informace. Pro všechna nastavení, která nejsou uvedená v následující tabulce, použijte výchozí hodnoty.

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete použít pro svoje centrum událostí.
    Skupina prostředků test-resource-group Vytvoříte novou skupinu prostředků.
    Umístění Vyberte oblast, která nejlépe vyhovuje vašim potřebám. Vytvořte obor názvů centra událostí ve stejném umístění jako ostatní prostředky.
    Název oboru názvů AzureMonitoringData Zvolte jedinečný název, který identifikuje váš obor názvů.
    Název centra událostí DiagnosticData Centrum událostí se nachází v rámci oboru názvů, který poskytuje jedinečný kontejner oboru.
    Název skupiny uživatelů adxpipeline Vytvořte název skupiny příjemců. Skupiny uživatelů umožňují, aby měla každá z aplikací samostatné zobrazení streamu událostí.

Připojení metrik a protokolů služby Azure Monitor k centru událostí

Teď potřebujete připojit diagnostické metriky a protokoly a protokoly aktivit k centru událostí.

Připojení diagnostických metrik a protokolů k centru událostí

Vyberte prostředek, ze kterého chcete exportovat metriky. Export diagnostických dat podporuje několik typů prostředků, včetně oboru názvů služby Event Hubs, Azure Key Vault, Azure IoT Hub a clusterů Azure Data Explorer. V tomto kurzu použijeme jako prostředek cluster Azure Data Explorer. Zkontrolujeme metriky výkonu dotazů a protokoly výsledků příjmu dat.

  1. V Azure Portal vyberte cluster Kusto.

  2. Vyberte Nastavení diagnostiky a pak vyberte odkaz Zapnout diagnostiku .

    Nastavení diagnostiky.

  3. Otevře se podokno Nastavení diagnostiky. Postupujte následovně:

    1. Dejte datům diagnostického protokolu název ADXExportedData.

    2. V části PROTOKOL zaškrtněte políčka SucceededIngestion i FailedIngestion .

    3. V části Metrika zaškrtněte políčko Výkon dotazu .

    4. Zaškrtněte políčko Streamovat do centra událostí .

    5. Vyberte Konfigurovat.

      Podokno nastavení diagnostiky.

  4. V podokně Vybrat centrum událostí nakonfigurujte , jak exportovat data z diagnostických protokolů do centra událostí, které jste vytvořili:

    1. V seznamu Vybrat obor názvů centra událostí vyberte AzureMonitoringData.
    2. V seznamu Vybrat název centra událostí vyberte DiagnosticData.
    3. V seznamu Vybrat název zásady centra událostí vyberte RootManagerSharedAccessKey.
    4. Vyberte OK.
  5. Vyberte Uložit.

Zobrazení toku dat do vašich center událostí

  1. Počkejte několik minut, než se připojení definuje a export protokolu aktivit do centra událostí se dokončí. Přejděte do oboru názvů služby Event Hubs a podívejte se na centra událostí, která jste vytvořili.

    Služba Event Hubs se vytvořila.

  2. Podívejte se na tok dat do centra událostí:

    Data centra událostí.

Připojení centra událostí k Azure Data Explorer

Teď potřebujete vytvořit datová připojení pro vaše diagnostické metriky a protokoly a protokoly aktivit.

Vytvoření datového připojení pro diagnostické metriky, protokoly a protokoly aktivit

  1. V clusteru Azure Data Explorer s názvem Kustodocs v nabídce vlevo vyberte Databáze.

  2. V okně Databáze vyberte databázi TestDatabase .

  3. V nabídce vlevo vyberte Příjem dat.

  4. V okně Příjem dat vyberte + Přidat datové připojení.

  5. V okně Datové připojení zadejte následující informace:

    Datové připojení centra událostí.

  1. V okně Datové připojení použijte následující nastavení:

    Zdroj dat:

    Nastavení Navrhovaná hodnota Popis pole
    Název datového připojení DiagnosticsLogsConnection Název připojení, které chcete vytvořit v Azure Data Exploreru
    Obor názvů centra událostí AzureMonitoringData Název, který jste zvolili dříve a který identifikuje váš obor názvů
    Centrum událostí DiagnosticKá data Centrum událostí, které jste vytvořili
    Skupina uživatelů adxpipeline Skupina uživatelů, kterou jste definovali v centrum událostí, které jste vytvořili

    Cílová tabulka:

    Existují dvě možnosti směrování: statické a dynamické. Pro účely tohoto kurzu použijete statické směrování (výchozí nastavení), ve kterém zadáte název tabulky, formát dat a mapování. Možnost Moje data zahrnují informace o směrování ponechte nevybranou.

    Nastavení Navrhovaná hodnota Popis pole
    Tabulka Diagnostickézáznamy Tabulka, kterou jste vytvořili v databázi TestDatabase .
    Formát dat JSON Formát použitý v tabulce
    Mapování sloupců DiagnosticRawRecordsMapping Mapování, které jste vytvořili v databázi TestDatabase , která mapuje příchozí data JSON na názvy sloupců a datové typy tabulky DiagnosticRawRecords .
  2. Vyberte Vytvořit.

Dotazování na nové tabulky

Teď máte kanál s tokem dat. Příjem dat přes cluster ve výchozím nastavení trvá 5 minut, takže před zahájením dotazování nechte data několik minut tok.

Dotaz na tabulku diagnostických metrik

Následující dotaz analyzuje data doby trvání dotazu ze záznamů diagnostických metrik v Azure Data Explorer:

DiagnosticMetrics
| where Timestamp > ago(15m) and MetricName == 'QueryDuration'
| summarize avg(Average)

Výsledky dotazu:

avg_Average
00:06.156