Share via


Oktatóanyag: Átalakítás hozzáadása a munkaterület adatgyűjtési szabályában az Azure Monitorhoz Resource Manager-sablonok használatával

Ez az oktatóanyag végigvezeti egy mintaátalakítás konfigurálását egy munkaterületi adatgyűjtési szabályban Resource Manager-sablonok használatával. Az Azure Monitor átalakításaival szűrheti vagy módosíthatja a bejövő adatokat, mielőtt elküldené őket a célhelyre. A munkaterület-átalakítások támogatják az Azure Monitor adatbetöltési folyamatát még nem használó munkafolyamatok betöltési idejének átalakítását.

A munkaterület-átalakítások a munkaterület egyetlen adatgyűjtési szabályában (DCR) vannak tárolva, amelyet a munkaterület DCR-jének neveznek. Minden átalakítás egy adott táblához van társítva. Az átalakítás minden olyan munkafolyamatból, amely nem DCR-t használ, alkalmazza az átalakítást a táblába küldött összes adatra.

Feljegyzés

Ez az oktatóanyag Resource Manager-sablonokat és REST API-t használ a munkaterület-átalakítás konfigurálásához. Lásd az oktatóanyagot: Átalakítás hozzáadása a munkaterület adatgyűjtési szabályában az Azure Monitorhoz az Azure Portallal ugyanazért az oktatóanyagért az Azure Portalon.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Munkaterület-átalakítás konfigurálása egy Log Analytics-munkaterület tábláihoz.
  • Napló lekérdezés írása betöltési idő átalakításhoz.

Feljegyzés

Ez az oktatóanyag az Azure Cloud Shell PowerShell-lel indít REST API-hívásokat az Azure Monitor Tables API és az Azure Portal használatával a Resource Manager-sablonok telepítéséhez. Ezeket a hívásokat bármely más módszerrel kezdeményezheti.

Előfeltételek

Az oktatóanyag teljesítéséhez a következőkre lesz szüksége:

Az oktatóanyag áttekintése

Ebben az oktatóanyagban bizonyos rekordok szűrésével csökkentheti a LAQueryLogs tábla tárolási követelményeit. Az oszlop tartalmát is eltávolítja, miközben elemzi az oszlopadatokat, hogy egy adatrészletet egy egyéni oszlopban tároljon. A LAQueryLogs tábla akkor jön létre, amikor engedélyezi a napló lekérdezésének naplózását egy munkaterületen, de ez csak mintaként használatos az oktatóanyaghoz. Ugyanezzel az alapfolyamattal hozhat létre átalakítást a Log Analytics-munkaterületek bármely támogatott táblája számára.

Lekérdezési naplózási naplók engedélyezése

Engedélyeznie kell a lekérdezések naplózását a munkaterületen ahhoz, hogy létrehozhassa azt a LAQueryLogs táblát, amellyel dolgozni fog. Ez nem szükséges minden betöltési idő átalakításhoz. Csak azokat a mintaadatokat kell létrehoznia, amelyeket ez a mintaátalakítás használni fog.

  1. Az Azure Portal Log Analytics-munkaterületek menüjében válassza a Diagnosztikai beállítások, majd a Diagnosztikai beállítás hozzáadása lehetőséget.

    Képernyőkép a diagnosztikai beállításokról.

  2. Adjon nevet a diagnosztikai beállításnak, és válassza ki a munkaterületet, hogy a naplózási adatokat ugyanabban a munkaterületen tárolja a rendszer. Válassza ki a Naplózás kategóriát, majd a Mentés gombra kattintva mentse a diagnosztikai beállítást, és zárja be a diagnosztikai beállítás lapot.

    Képernyőkép az új diagnosztikai beállításról.

  3. Válassza a Naplók lehetőséget, majd futtasson néhány lekérdezést, hogy feltöltsön LAQueryLogs néhány adatot. Ezeknek a lekérdezéseknek nem kell adatokat visszaadniuk.

    Mintanapló-lekérdezések képernyőképe.

Táblaséma frissítése

Az átalakítás létrehozása előtt a következő két módosítást kell végrehajtani a táblában:

  • A táblát engedélyezni kell a munkaterület átalakításához. Ez minden olyan táblához szükséges, amely átalakítással rendelkezik, még akkor is, ha az átalakítás nem módosítja a tábla sémáját.
  • Az átalakítás által kitöltött további oszlopokat hozzá kell adni a táblához.

A Táblák – Update API használatával konfigurálhatja a táblázatot az alábbi PowerShell-kóddal. Az API meghívása lehetővé teszi a tábla számára a munkaterület-átalakításokat, függetlenül attól, hogy egyéni oszlopok vannak-e definiálva. Ebben a példában egy Resources_CF nevű egyéni oszlopot tartalmaz, amely az átalakítási lekérdezéssel lesz feltöltve.

Fontos

A beépített táblához hozzáadott egyéni oszlopoknak _CF kell végződniük. Az egyéni táblához hozzáadott oszlopoknak (_CL végződésű tábláknak) nem kell ezt az utótagot használniuk.

  1. Kattintson a Cloud Shell gombra az Azure Portalon, és győződjön meg arról, hogy a környezet PowerShellre van állítva.

    Képernyőkép a Cloud Shell megnyitásáról.

  2. Másolja ki a következő PowerShell-kódot, és cserélje le az Elérési út paramétert a munkaterület adataira.

    $tableParams = @'
    {
        "properties": {
            "schema": {
                "name": "LAQueryLogs",
                "columns": [
                    {
                        "name": "Resources_CF",
                        "description": "The list of resources, this query ran against",
                        "type": "string",
                        "isDefaultDisplay": true,
                        "isHidden": false
                    }
                ]
            }
        }
    }
    '@
    
    Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}/tables/LAQueryLogs?api-version=2021-12-01-preview" -Method PUT -payload $tableParams
    
  3. Illessze be a kódot a Cloud Shell parancssorába a futtatáshoz.

    Képernyőkép a Szkriptről a Cloud Shellben.

  4. Az oszlop hozzáadását az Azure Portal Log Analytics-munkaterület menüjében ellenőrizheti. Válassza a Naplók lehetőséget a Log Analytics megnyitásához, majd bontsa ki a táblázatot az LAQueryLogs oszlopok megtekintéséhez.

    A Log Analytics új oszlopot tartalmazó képernyőképe.

Átalakítási lekérdezés definiálása

A Log Analytics használatával tesztelheti az átalakítási lekérdezést, mielőtt hozzáadja egy adatgyűjtési szabályhoz.

  1. Nyissa meg a munkaterületet az Azure Portal Log Analytics-munkaterületek menüjében, és válassza a Naplók lehetőséget a Log Analytics megnyitásához.

  2. Futtassa a következő lekérdezést a LAQueryLogs tábla tartalmának megtekintéséhez. Figyelje meg az oszlop tartalmát RequestContext . Az átalakítás lekéri a munkaterület nevét ebből az oszlopból, és eltávolítja a benne lévő többi adatot.

    LAQueryLogs
    | take 10
    

    Képernyőkép a Log Analytics kezdeti lekérdezéséről.

  3. Módosítsa a lekérdezést a következőre:

    LAQueryLogs
    | where QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

    Ez a következő módosításokat hajtja végre:

    • A táblázat lekérdezéséhez LAQueryLogs kapcsolódó sorokat helyezze el, hogy helyet takarítson meg, mivel ezek a naplóbejegyzések nem hasznosak.
    • Adjon hozzá egy oszlopot a lekérdezett munkaterület nevéhez.
    • Adatok eltávolítása az oszlopból a RequestContext helytakarékosság érdekében.

    Képernyőkép a Log Analytics módosított lekérdezéséről.

  4. Végezze el az alábbi módosításokat a lekérdezésen az átalakítás során való használathoz:

    • Ahelyett, hogy táblanevet (LAQueryLogs ebben az esetben) ad meg a lekérdezés adatforrásaként, használja a kulcsszót source . Ez egy virtuális tábla, amely mindig a bejövő adatokat jelöli egy átalakítási lekérdezésben.
    • Távolítsa el az átalakító lekérdezések által nem támogatott operátorokat. A támogatott operátorok részletes listáját a támogatott KQL-funkciók című témakörben találja.
    • A lekérdezést egyetlen sorba kell egyesíteni, hogy elférjen a DCR JSON-ban.

    Az alábbi lekérdezést fogja használni az átalakítás során a módosítások után:

    source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Resources_CF = tostring(Context['workspaces']) |extend RequestContext = ''
    

Adatgyűjtési szabály (DCR) létrehozása

Mivel ez az első átalakítás a munkaterületen, létre kell hoznia egy munkaterület-átalakítási DCR-t. Ha munkaterület-átalakításokat hoz létre ugyanabban a munkaterületen lévő többi táblához, azokat ugyanabban a DCR-ben kell tárolni.

  1. Az Azure Portal keresőmezőjében írja be a sablont, majd válassza az Egyéni sablon üzembe helyezése lehetőséget.

    Képernyőkép az egyéni sablon üzembe helyezéséről.

  2. Kattintson a Saját sablon létrehozása elemre a szerkesztőben.

    Képernyőkép a sablon szerkesztéséhez a szerkesztőben.

  3. Illessze be az alábbi Resource Manager-sablont a szerkesztőbe, majd kattintson a Mentés gombra. Ez a sablon határozza meg a DCR-t, és tartalmazza az átalakítási lekérdezést. Nem kell módosítania ezt a sablont, mivel a paraméterek értékeit gyűjti össze.

    Képernyőkép a Resource Manager-sablon szerkesztéséhez.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "dataCollectionRuleName": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the name of the Data Collection Rule to create."
                }
            },
            "location": {
                "type": "string",
                "defaultValue": "westus2",
                "allowedValues": [
                    "westus2",
                    "eastus2",
                    "eastus2euap"
                ],
                "metadata": {
                    "description": "Specifies the location in which to create the Data Collection Rule."
                }
            },
            "workspaceResourceId": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the Azure resource ID of the Log Analytics workspace to use."
                }
            }
        },
        "resources": [
            {
                "type": "Microsoft.Insights/dataCollectionRules",
                "name": "[parameters('dataCollectionRuleName')]",
                "location": "[parameters('location')]",
                "apiVersion": "2021-09-01-preview",
                "kind": "WorkspaceTransforms",
                "properties": {
                    "destinations": {
                        "logAnalytics": [
                            {
                                "workspaceResourceId": "[parameters('workspaceResourceId')]",
                                "name": "clv2ws1"
                            }
                        ]
                    },
                    "dataFlows": [
                        {
                            "streams": [
                                "Microsoft-Table-LAQueryLogs"
                            ],
                            "destinations": [
                                "clv2ws1"
                            ],
                            "transformKql": "source |where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Resources_CF = tostring(Context['workspaces']) |extend RequestContext = ''"
                        }
                    ]
                }
            }
        ],
        "outputs": {
            "dataCollectionRuleId": {
                "type": "string",
                "value": "[resourceId('Microsoft.Insights/dataCollectionRules', parameters('dataCollectionRuleName'))]"
            }
        }
    }
    
  4. Az Egyéni üzembe helyezés képernyőn adjon meg egy előfizetést és erőforráscsoportot az adatgyűjtési szabály tárolásához, majd adja meg a sablonban definiált értékeket. Ez magában foglalja az adatgyűjtési szabály nevét és az előző lépésben összegyűjtött munkaterület-erőforrás-azonosítót . A helynek meg kell egyeznie a munkaterület helyével. A régió már ki lesz töltve, és az adatgyűjtési szabály helyéhez lesz használva.

    Képernyőkép az egyéni üzembehelyezési értékek szerkesztéséhez.

  5. A részletek áttekintésekor kattintson a Véleményezés+ létrehozás , majd a Létrehozás gombra.

  6. Ha az üzembe helyezés befejeződött, bontsa ki az Üzembe helyezés részletei mezőt, és kattintson az adatgyűjtési szabályra a részleteinek megtekintéséhez. Kattintson a JSON nézetre.

    Képernyőkép az adatgyűjtési szabály részleteiről.

  7. Másolja ki az adatgyűjtési szabály erőforrás-azonosítóját . Ezt a következő lépésben fogja használni.

    Képernyőkép az adatgyűjtési szabály JSON nézetéhez.

Az átalakítás engedélyezésének utolsó lépése a DCR és a munkaterület összekapcsolása.

Fontos

A munkaterületek csak egyetlen DCR-hez csatlakoztathatók, és a csatolt DCR-nek célként tartalmaznia kell ezt a munkaterületet.

A Munkaterületek – Update API használatával konfigurálja a táblát az alábbi PowerShell-kóddal.

  1. Kattintson a Cloud Shell gombra a Cloud Shell újbóli megnyitásához. Másolja ki a következő PowerShell-kódot, és cserélje le a paramétereket a munkaterület és a DCR értékeire.

    $defaultDcrParams = @'
    {
        "properties": {
            "defaultDataCollectionRuleResourceId": "/subscriptions/{subscription}/resourceGroups/{resourcegroup}/providers/Microsoft.Insights/dataCollectionRules/{DCR}"
        }
    }
    '@
    
    Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}?api-version=2021-12-01-preview" -Method PATCH -payload $defaultDcrParams
    
  2. Illessze be a kódot a Cloud Shell parancssorába a futtatáshoz.

    Képernyőkép a munkaterület DCR-hez csatolásához használt szkriptről.

Átalakítás tesztelése

Az átalakítás érvénybe lépése körülbelül 30 percet vesz igénybe, majd tesztelheti egy lekérdezés futtatásával a táblán. Csak az átalakítás alkalmazása után a táblába küldött adatok lesznek hatással.

Ebben az oktatóanyagban futtasson néhány minta lekérdezést, hogy adatokat küldjön a LAQueryLogs táblába. Adjon hozzá néhány lekérdezést LAQueryLogs , így ellenőrizheti, hogy az átalakítás szűri-e ezeket a rekordokat. Figyelje meg, hogy a kimenet az új Workspace_CF oszlopot tartalmazza, és nincsenek rekordok a következőhöz LAQueryLogs: .

Hibaelhárítás

Ez a szakasz a kapott különböző hibafeltételeket és azok kijavítási módját ismerteti.

Az IntelliSense a Log Analyticsben nem ismeri fel a tábla új oszlopait

Az IntelliSense-t meghajtó gyorsítótár frissítése akár 24 órát is igénybe vehet.

Nem működik az átalakítás dinamikus oszlopon

Jelenleg ismert probléma van a dinamikus oszlopokat érintően. Az ideiglenes áthidaló megoldás a dinamikus oszlopadatok parse_json() explicit elemzése, mielőtt bármilyen műveletet végrehajtanak rajtuk.

Következő lépések