Sdílet prostřednictvím


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

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

V tomto kurzu se naučíte:

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

Poznámka:

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

Požadavky

Zprostředkovatel dat služby Azure Monitor: Diagnostické metriky a protokoly aktivit

Prohlédněte si a seznamte se s daty poskytovanými diagnostickými metrikami a protokoly aktivit služby Azure Monitor níže. Na základě těchto schémat dat vytvoříte kanál příjmu dat. Všimněte si, že každá událost v protokolu má 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 a protokoly aktivit Azure jsou generovány službou Azure a poskytují data o provozu této služby.

Příklad diagnostických metrik

Diagnostické metriky se agregují s časovým intervalem 1 minut. Následuje příklad schématu událostí metrik Azure Data Exploreru v 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 Exploreru

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

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

V databázi TestDatabase Azure Data Exploreru vyberte Dotaz a otevřete webové uživatelské rozhraní Azure Data Exploreru.

Stránka dotazu

Vytvoření cílových tabulek

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

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

Vytvoření tabulek pro diagnostické metriky

  1. V databázi TestDatabase vytvořte tabulku s názvem DiagnosticMetrics pro ukládání záznamů 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.

    Spustit dotaz.

  3. Pomocí následujícího dotazu vytvořte zprostředkující tabulku dat s názvem DiagnosticRawRecords v databázi TestDatabase . Vyberte Spustit a vytvořte tabulku.

    .create table DiagnosticRawRecords (Records:dynamic)
    
  4. Nastavte zásady nulového 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, je vyžadováno 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 syntaxi 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 metriky a data protokolu

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

  1. Vytvořte funkci , která rozšiřuje kolekci diagnostických záznamů metrik, aby každá hodnota v kolekci dostala 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ě ingestované data v tabulce zprostředkujících dat DiagnosticRawRecords a ingestuje výsledky do tabulky DiagnosticMetrics :

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

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

Nastavení diagnostiky Azure umožňuje exportovat metriky a protokoly do účtu úložiště nebo do centra událostí. V tomto kurzu budeme směrovat metriky a protokoly prostřednictvím centra 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 vytvoří pro protokoly aktivit přehledy centra událostí – operational-logs .

  1. Vytvořte centrum událostí pomocí šablony Azure Resource Manageru na webu 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řejde na web 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ů.
    Místo 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 jiné 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 příjemců 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. Několik typů prostředků podporuje export diagnostických dat, včetně oboru názvů centra událostí, služby Azure Key Vault, Azure IoT Hubu a clusterů Azure Data Exploreru. V tomto kurzu jako prostředek použijeme cluster Azure Data Exploreru. Zkontrolujeme metriky výkonu dotazů a protokoly výsledků příjmu dat.

  1. Na webu Azure Portal vyberte svůj 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. Zadejte data diagnostického protokolu název ADXExportedData.

    2. V části LOG 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 Stream 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. Zvolte Uložit.

Zobrazení toků dat do centra 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 byla vytvořena.

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

    Data centra událostí

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

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

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

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

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

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

  4. V okně Pro 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ého 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í DiagnosticData Centrum událostí, které jste vytvořili
    Skupina příjemců 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é. V tomto kurzu použijete statické směrování (výchozí), kde 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í povolte tok dat po dobu několika minut.

Dotazování na tabulku diagnostických metrik

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

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

Výsledky dotazu:

avg_Average
00:06.156