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
- Předplatné Azure. Vytvořte si bezplatný účet Azure.
- Cluster a databáze Azure Data Explorer. Vytvořte cluster a databázi. V tomto kurzu bude název databáze TestDatabase.
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.
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
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)
Vyberte Spustit a vytvořte tabulku.
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)
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
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) }
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í.
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.
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.
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.
V Azure Portal vyberte cluster Kusto.
Vyberte Nastavení diagnostiky a pak vyberte odkaz Zapnout diagnostiku .
Otevře se podokno Nastavení diagnostiky. Postupujte následovně:
Dejte datům diagnostického protokolu název ADXExportedData.
V části PROTOKOL zaškrtněte políčka SucceededIngestion i FailedIngestion .
V části Metrika zaškrtněte políčko Výkon dotazu .
Zaškrtněte políčko Streamovat do centra událostí .
Vyberte Konfigurovat.
V podokně Vybrat centrum událostí nakonfigurujte , jak exportovat data z diagnostických protokolů do centra událostí, které jste vytvořili:
- V seznamu Vybrat obor názvů centra událostí vyberte AzureMonitoringData.
- V seznamu Vybrat název centra událostí vyberte DiagnosticData.
- V seznamu Vybrat název zásady centra událostí vyberte RootManagerSharedAccessKey.
- Vyberte OK.
Vyberte Uložit.
Zobrazení toku dat do vašich center událostí
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.
Podívejte se na tok dat do 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
V clusteru Azure Data Explorer s názvem Kustodocs v nabídce vlevo vyberte Databáze.
V okně Databáze vyberte databázi TestDatabase .
V nabídce vlevo vyberte Příjem dat.
V okně Příjem dat vyberte + Přidat datové připojení.
V okně Datové připojení zadejte následující informace:
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 . 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 |