Oktatóanyag: Monitorozási adatok betöltése és lekérdezése az Azure Data Explorerben

Ez az oktatóanyag bemutatja, hogyan lehet adatokat beszúrni a diagnosztikai és tevékenységnaplókból egy Azure Data Explorer-fürtbe kód írása nélkül. Ezzel az egyszerű betöltési módszerrel gyorsan megkezdheti az Azure Data Explorer adatelemzéshez való lekérdezését.

Ebből az oktatóanyagból az alábbiakat sajátíthatja el:

  • Táblák és betöltési leképezések létrehozása azure Data Explorer-adatbázisban.
  • Formázza a betöltött adatokat egy frissítési szabályzat használatával.
  • Hozzon létre egy eseményközpontot, és csatlakoztassa az Azure Data Explorer.
  • Adatokat streamelhet egy eseményközpontba az Azure Monitor diagnosztikai metrikáiból, naplóiból és tevékenységnaplóiból.
  • A betöltött adatok lekérdezése az Azure Data Explorer használatával.

Megjegyzés

Hozzon létre minden erőforrást ugyanabban az Azure-beli helyen vagy régióban.

Előfeltételek

Azure Monitor-adatszolgáltató: diagnosztikai metrikák, naplók és tevékenységnaplók

Tekintse meg és ismerje meg az Azure Monitor diagnosztikai metrikái, naplói és tevékenységnaplói által biztosított adatokat. Ezen adatsémák alapján létre fog hozni egy betöltési folyamatot. Vegye figyelembe, hogy a naplók minden eseménye rekordtömbbel rendelkezik. Ezt a rekordtömböt az oktatóanyag későbbi részében felosztjuk.

Példák diagnosztikai metrikákra, naplókra és tevékenységnaplókra

Az Azure-beli diagnosztikai metrikákat, naplókat és tevékenységnaplókat egy Azure-szolgáltatás bocsátja ki, és adatokat szolgáltat a szolgáltatás működéséről.

Példa diagnosztikai metrikákra

A diagnosztikai metrikák 1 perces időfelbontással vannak összesítve. Az alábbiakban egy azure-Data Explorer metrikaesemény-sémát mutatunk be a lekérdezés időtartamára vonatkozóan:

{
    "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"
    }
    ]
}

Betöltési folyamat beállítása az Azure Data Explorer

Az Azure Data Explorer-folyamat beállítása több lépést is magában foglal, például a táblalétrehozást és az adatbetöltést. Emellett módosíthatja, leképezheti és frissítheti az adatokat.

Csatlakozás az Azure Data Explorer webes felhasználói felületéhez

Az Azure Data Explorer TestDatabase-adatbázisban válassza a Lekérdezés lehetőséget az Azure Data Explorer webes felhasználói felületének megnyitásához.

Lekérdezés lap.

A céltáblák létrehozása

Az Azure Monitor-naplók szerkezete nem táblázatos. Az adatokat manipulálni fogja, és az egyes eseményeket egy vagy több rekordra bontja. A nyers adatok egy ActivityLogsRawRecords nevű köztes táblába kerülnek a tevékenységnaplókhoz és a diagnosztikai metrikákhoz és naplókhoz tartozó DiagnosticRawRecords táblához. Ekkor az adatok manipulálva és kibontva lesznek. Egy frissítési szabályzat használatával a kibontott adatok ezután bekerülnek a tevékenységnaplók Tevékenységnaplók táblájába, a diagnosztikai metrikák Diagnosztikaimetrikái és diagnosztikai naplók diagnosztikai naplóiba . Ez azt jelenti, hogy két külön táblát kell létrehoznia a tevékenységnaplók betöltéséhez, valamint három külön táblát a diagnosztikai metrikák és naplók betöltéséhez.

Az Azure Data Explorer webes felhasználói felületén hozza létre a céltáblákat az Azure Data Explorer-adatbázisban.

Táblák létrehozása a diagnosztikai metrikákhoz

  1. A TestDatabase adatbázisban hozzon létre egy DiagnosticMetrics nevű táblát a diagnosztikai metrikák rekordjainak tárolásához. Használja a következő .create table felügyeleti parancsot:

    .create table DiagnosticMetrics (Timestamp:datetime, ResourceId:string, MetricName:string, Count:int, Total:double, Minimum:double, Maximum:double, Average:double, TimeGrain:string)
    
  2. A tábla létrehozásához válassza a Futtatás lehetőséget.

    Lekérdezés futtatása.

  3. Hozza létre a DiagnosticRawRecords nevű köztes adattáblát a TestDatabase adatbázisban az adatmódosításhoz az alábbi lekérdezéssel. A tábla létrehozásához válassza a Futtatás lehetőséget.

    .create table DiagnosticRawRecords (Records:dynamic)
    
  4. Állítsa be a nulla adatmegőrzési szabályzatot a köztes táblához:

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

Táblaleképezések létrehozása

Mivel az adatformátum a json, adatleképezésre van szükség. A json leképezés az egyes json-elérési utakat egy táblaoszlop nevére képezi le. A speciális karaktereket tartalmazó JSON-elérési utakat a tulajdonságnévként kell feloldani. További információ: JSONPath szintaxis.

Diagnosztikai metrikák és naplók leképezése a táblába

A diagnosztikai metrikák és a naplóadatok táblázatba való leképezéséhez használja a következő lekérdezést:

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

A metrika- és naplóadatok frissítési szabályzatának létrehozása

Adatfrissítési szabályzat létrehozása diagnosztikai metrikákhoz

  1. Hozzon létre egy olyan függvényt , amely kibővíti a diagnosztikai metrikák rekordjainak gyűjteményét, hogy a gyűjtemény minden értéke külön sort kapjon. Használja az operátort mv-expand :

    .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. Adja hozzá a frissítési szabályzatot a céltáblához. Ez a szabályzat automatikusan futtatja a lekérdezést a DiagnosticRawRecords köztes adattáblában újonnan betöltött adatokon, és az eredményeket a DiagnosticMetrics táblába betölti :

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

Azure Event Hubs névtér létrehozása

Az Azure diagnosztikai beállításai lehetővé teszik a metrikák és naplók tárfiókba vagy eseményközpontba történő exportálását. Ebben az oktatóanyagban egy eseményközponton keresztül irányítjuk a metrikákat és a naplókat. Az alábbi lépésekben létre fog hozni egy eseményközpont-névteret és egy eseményközpontot a diagnosztikai metrikákhoz és naplókhoz. Az Azure Monitor létrehozza az event hub insights-operational-logs eseményközpontot a tevékenységnaplókhoz.

  1. Hozzon létre egy eseményközpontot egy Azure Resource Manager-sablon használatával a Azure Portal. A cikk további lépéseinek követéséhez kattintson a jobb gombbal az Üzembe helyezés az Azure-ban gombra, majd válassza a Megnyitás új ablakban lehetőséget. Az Üzembe helyezés az Azure-ban gomb a Azure Portal nyitja meg.

    Üzembe helyezés az Azure-ban gomb.

  2. Hozzon létre egy eseményközpont-névteret és egy eseményközpontot a diagnosztikai naplókhoz. Megtudhatja, hogyan hozhat létre eseményközpont-névteret.

  3. Adja meg az alábbi adatokat az űrlapon. Az alábbi táblázatban nem szereplő beállításoknál használja az alapértelmezett értékeket.

    Beállítás Ajánlott érték Leírás
    Előfizetés Az előfizetése Válassza ki az eseményközponthoz használni kívánt Azure-előfizetést.
    Erőforráscsoport test-resource-group Új erőforráscsoport létrehozása.
    Hely Válassza ki az igényeinek leginkább megfelelő régiót. Hozza létre az eseményközpont névterét a többi erőforrással megegyező helyen.
    Névtér neve AzureMonitoringData Válasszon egy egyedi nevet a névtér azonosításához.
    Event Hubs neve DiagnosticData Az eseményközpont a névtéren belül helyezkedik el, ami egy egyedi hatókörkezelési tárolóként szolgál.
    Fogyasztói csoport neve adxpipeline Hozzon létre egy fogyasztói csoportnevet. A fogyasztói csoportokkal több fogyasztói alkalmazás is rendelkezhet az eseménystream külön nézetével.

Azure Monitor-metrikák és -naplók csatlakoztatása az eseményközponthoz

Most csatlakoztatnia kell a diagnosztikai metrikákat és naplókat, valamint a tevékenységnaplókat az eseményközponthoz.

Diagnosztikai metrikák és naplók csatlakoztatása az eseményközponthoz

Válasszon ki egy erőforrást, amelyből metrikákat szeretne exportálni. Számos erőforrástípus támogatja a diagnosztikai adatok exportálását, beleértve az eseményközpontok névterét, az Azure Key Vault, a Azure IoT Hub és az Azure Data Explorer-fürtöket. Ebben az oktatóanyagban egy Azure Data Explorer-fürtöt használunk erőforrásként, és áttekintjük a lekérdezési teljesítménymetrikákat és a betöltési eredmények naplóit.

  1. Válassza ki a Kusto-fürtöt a Azure Portal.

  2. Válassza a Diagnosztikai beállítások lehetőséget, majd válassza a Diagnosztikai beállítások bekapcsolása hivatkozást.

    Diagnosztikai beállítások.

  3. Megnyílik a Diagnosztikai beállítások panel. Tegye a következőket:

    1. Adja meg a diagnosztikai napló adatait ADXExportedData névvel.

    2. A LOG (NAPLÓ) területen jelölje be a Sikeres és a Sikertelen érvényesítés jelölőnégyzetet.

    3. A METRIKA területen jelölje be a Lekérdezési teljesítmény jelölőnégyzetet.

    4. Jelölje be a Stream egy eseményközpontba jelölőnégyzetet.

    5. Válassza a Konfigurálás lehetőséget.

      Diagnosztikai beállítások panel.

  4. Az Eseményközpont kiválasztása panelen konfigurálja, hogyan exportálhat adatokat a diagnosztikai naplókból a létrehozott eseményközpontba:

    1. Az Eseményközpont-névtér kiválasztása listában válassza az AzureMonitoringData lehetőséget.
    2. Az Eseményközpont nevének kiválasztása listában válassza a DiagnosticData lehetőséget.
    3. Az Eseményközpont-házirend nevének kiválasztása listában válassza a RootManagerSharedAccessKey elemet.
    4. Kattintson az OK gombra.
  5. Kattintson a Mentés gombra.

Az eseményközpontokba áramló adatok megtekintése

  1. Várjon néhány percet a kapcsolat definiálásáig, és fejeződött be a tevékenységnapló exportálása az eseményközpontba. Nyissa meg az eseményközpontok névterét a létrehozott eseményközpontok megtekintéséhez.

    Létrehozott eseményközpontok.

  2. Tekintse meg az eseményközpontba áramló adatokat:

    Az eseményközpont adatai.

Eseményközpont csatlakoztatása az Azure Data Explorer

Most létre kell hoznia az adatkapcsolatokat a diagnosztikai metrikákhoz, naplókhoz és tevékenységnaplókhoz.

Adatkapcsolat létrehozása diagnosztikai metrikákhoz, naplókhoz és tevékenységnaplókhoz

  1. Az Azure Data Explorer kustodocs nevű fürtben válassza az Adatbázisok lehetőséget a bal oldali menüben.

  2. Az Adatbázisok ablakban válassza ki a TestDatabase-adatbázist .

  3. A bal oldali menüben válassza az Adatbetöltés lehetőséget.

  4. Az Adatbetöltés ablakban válassza a + Adatkapcsolat hozzáadása lehetőséget.

  5. Az Adatkapcsolat ablakban adja meg a következő adatokat:

    Eseményközpont adatkapcsolata.

  1. Használja az alábbi beállításokat az Adatkapcsolat ablakban:

    Adatforrás:

    Beállítás Ajánlott érték Mező leírása
    Adatkapcsolat neve DiagnosticsLogsConnection Az Azure Data Explorerben létrehozni kívánt kapcsolat neve.
    Eseményközpont-névtér AzureMonitoringData A korábban a névtér azonosításához választott név.
    Eseményközpont DiagnosticData A létrehozott eseményközpont.
    Fogyasztói csoport adxpipeline A létrehozott eseményközponton definiált fogyasztói csoport.

    Céltábla:

    Az útvonalválasztás esetében két lehetőség érhető el: a statikus és a dinamikus. Ebben az oktatóanyagban statikus útválasztást (alapértelmezett) fog használni, ahol megadhatja a tábla nevét, az adatformátumot és a leképezést. Hagyja A saját adatok útválasztási információt tartalmaznak lehetőséget bejelöletlenül.

    Beállítás Ajánlott érték Mező leírása
    Tábla DiagnosticRawRecords A TestDatabase adatbázisban létrehozott tábla.
    Adatformátum JSON A táblázatban használt formátum.
    Oszlopleképezés DiagnosticRawRecordsMapping A TestDatabase adatbázisban létrehozott leképezés, amely leképezi a bejövő JSON-adatokat a DiagnosticRawRecords tábla oszlopneveihez és adattípusaihoz .
  2. Válassza a Létrehozás lehetőséget.

Az új táblák lekérdezése

Most már rendelkezik egy adatfolyamattal rendelkező folyamattal. A fürtön keresztüli betöltés alapértelmezés szerint 5 percet vesz igénybe, ezért a lekérdezés megkezdése előtt hagyja, hogy az adatok néhány percig folyjanak.

A diagnosztikai metrikák táblájának lekérdezése

A következő lekérdezés az Azure Data Explorer diagnosztikai metrikarekordjaiból származó lekérdezések időtartamadatait elemzi:

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

Lekérdezési eredmények:

avg_Average
00:06.156