Megosztás:


Oktatóanyag: Események betöltése az Azure Event Hubsból az Azure Monitor-naplókba (nyilvános előzetes verzió)

Az Azure Event Hubs egy big data-alapú streamelési platform, amely több forrásból gyűjt eseményeket, amelyeket az Azure és a külső szolgáltatások betöltenek. Ez a cikk bemutatja, hogyan lehet adatokat közvetlenül egy eseményközpontból egy Log Analytics-munkaterületre szállítani és integrálni.

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

  • Céltábla létrehozása az eseményközpont adataihoz a Log Analytics-munkaterületen
  • Adatgyűjtési végpont létrehozása
  • Adatgyűjtési szabály létrehozása
  • Adatgyűjtési szabály engedélyeinek megadása az eseményközpontnak
  • Az adatgyűjtési szabály társítása az eseményközponttal

Megjegyzés:

Bár az Azure Log Analyticsben egy adatgyűjtési szabály (DCR) és céltábla hozható létre az Azure Portalon keresztül, az Azure Event Hubs eseményeinek Azure Monitor-naplókba való betöltéséhez üzembehelyezési sablonra vagy DCR API-ra van szükség. Ennek az az oka, hogy a DCR-nek olyan szintaxist kell tartalmaznia, amely nem támogatott a portál felületén.

Előfeltételek

Ha eseményeket szeretne küldeni az Azure Event Hubsból az Azure Monitor-naplókba, az alábbi erőforrásokra van szüksége:

Támogatott régiók

Az Azure Monitor jelenleg támogatja az Event Hubsból való betöltést ezekben a régiókban:

Amerika Európa Közel-Kelet Afrika Ázsia és a Csendes-óceáni térség
Dél-Brazília Közép-Franciaország Egyesült Arab Emírségek északi régiója Dél-Afrika északi régiója Ausztrália középső régiója
Délkelet-Brazília Észak-Európa Ausztrália keleti régiója
Közép-Kanada Kelet-Norvégia Délkelet-Ausztrália
Kelet-Kanada Észak-Svájc Közép-India
USA keleti régiója Nyugat-Svájc Kelet-Ázsia
USA 2. keleti régiója Egyesült Királyság déli régiója Kelet-Japán
USA déli középső régiója Egyesült Királyság nyugati régiója Jio Nyugat-India
USA nyugati régiója Nyugat-Európa Korea középső régiója
USA 3. nyugati régiója Délkelet-Ázsia

Az adatgyűjtési szabálytársítást (DCRA) ugyanabban a régióban kell létrehoznia, mint az Event Hub. A Log Analytics-munkaterület bármely régióban lehet, de az adatgyűjtési szabálynak (DCR) és az adatgyűjtési végpontnak (DCE) ugyanabban a régióban kell lennie, mint a Log Analytics-munkaterületnek.

A minimális késés érdekében javasoljuk, hogy az összes erőforrást ugyanabban a régióban helyezze el.

A szükséges információk összegyűjtése

A következő lépésekben szüksége lesz az előfizetés azonosítójére, az erőforráscsoport nevére, a munkaterület nevére, a munkaterület erőforrás-azonosítójére és az eseményközpont-példány erőforrás-azonosítójére:

  1. Lépjen a munkaterületre a Log Analytics-munkaterületek menüben, és válassza a Tulajdonságok lehetőséget, és másolja ki az előfizetés azonosítóját, az erőforráscsoportot és a munkaterület nevét. Az oktatóanyagban található erőforrások létrehozásához ezekre a részletekre van szüksége.

    Képernyőkép a Log Analytics-munkaterület áttekintési képernyőről, amelyen az előfizetés azonosítója, az erőforráscsoport neve és a munkaterület neve van kiemelve.

  2. Válassza a JSON lehetőséget az Erőforrás JSON képernyőjének megnyitásához és a munkaterület erőforrás-azonosítójának másolásához. Adatgyűjtési szabály létrehozásához szüksége van a munkaterület erőforrás-azonosítóra.

    Képernyőkép az Erőforrás JSON képernyőjén a munkaterület erőforrás-azonosítójának kiemelésével.

  3. Lépjen az eseményközpont-példányra, válassza a JSON lehetőséget az erőforrás JSON képernyőjének megnyitásához, és másolja ki az eseményközpont-példány erőforrás-azonosítóját. Az adatgyűjtési szabály és az eseményközpont társításához az eseményközpont-példány erőforrás-azonosítójára van szükség.

    Képernyőkép a Resource JSON képernyőről, amelyen az eseményközpont erőforrás-azonosítója ki van emelve.

Céltábla létrehozása a Log Analytics-munkaterületen

Az adatok betöltése előtt be kell állítania egy céltáblát. Az adatokat egyéni táblákba és támogatott Azure-táblákba is betöltheti.

Ha egyéni táblázatot szeretne létrehozni, amelybe eseményeket szeretne betölteni, az Azure portálon:

  1. Válassza a Cloud Shell gombot, é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. Futtassa ezt a PowerShell-parancsot a tábla létrehozásához, adja meg a tábla nevét (<table_name>) a JSON-ban (egyéni tábla _CL utótaggal), és állítsa be a <subscription_id>, <resource_group_name>, <workspace_name>, <table_name>és <api_version> értékeket a Invoke-AzRestMethod -Path parancsban:

    $tableParams = @'
    {
        "properties": {
            "schema": {
                "name": "<table_name>",
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime",
                        "description": "The time at which the data was ingested."
                    },
                    {
                        "name": "RawData",
                        "type": "string",
                        "description": "Body of the event."
                    },
                    {
                        "name": "Properties",
                        "type": "dynamic",
                        "description": "Additional message properties."
                    }
                ]
            }
        }
    }
    '@
    
    $restMethodParams = @{
        Path    = "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/microsoft.operationalinsights/workspaces/<workspace_name>/tables/<table_name>?api-version=<api_version>"
        Method  = "PUT"
        Payload = $tableParams}
    
    Invoke-AzRestMethod @restMethodParams
    

Fontos

  • Az oszlopneveknek betűvel kell kezdődniük, és legfeljebb 45 alfanumerikus karakterből és aláhúzásból (_) állhatnak.
  • _ResourceId, id, _SubscriptionId, TenantId, Type, UniqueId, és Title fenntartott oszlopnevek.
  • Az oszlopnevek megkülönböztetik a kis- és nagybetűket. Ügyeljen arra, hogy az adatgyűjtési szabályban a megfelelő esetet használja.

Megjegyzés:

A jelenleg támogatott API-verziókról további információt a Microsoft.OperationalInsights/workspaces/tables üzembe helyezésének API-verzióváltozási naplójában talál.

Adatgyűjtési végpont létrehozása

Adatgyűjtési szabály használatával történő adatgyűjtéshez adatgyűjtési végpontra van szükség:

  1. Adatgyűjtési végpont létrehozása.

    Fontos

    Hozza létre az adatgyűjtési végpontot a Log Analytics-munkaterületével megegyező régióban.

  2. Az adatgyűjtési végpont Áttekintés képernyőjén válassza a JSON nézetet.

    Képernyőkép az adatgyűjtési végpont áttekintési képernyőjén.

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

    Az adatgyűjtési végpont JSON-nézetét bemutató képernyőkép.

Adatgyűjtési szabály létrehozása

Az Azure Monitor adatgyűjtési szabályokkal határozza meg, hogy mely adatokat gyűjtse össze, hogyan alakítsa át ezeket az adatokat, és hol küldje el az adatokat.

Adatgyűjtési szabály létrehozása az Azure Portalon:

  1. A portál 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. Válassza a Saját sablon készítése a szerkesztőben lehetőséget.

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

  3. Illessze be a következő Resource Manager-sablont a szerkesztőbe, és válassza a Mentés lehetőséget.

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

    Figyelje meg a következő részleteket az adatgyűjtési szabályban:

    • identity– Meghatározza a használni kívánt felügyelt identitás típusát. Példánkban rendszer által hozzárendelt identitást használunk. A felhasználó által hozzárendelt felügyelt identitást is konfigurálhatja.

    • dataCollectionEndpointId - Az adatgyűjtési végpont erőforrás-azonosítója.

    • streamDeclarations – Meghatározza az eseményközpontból betöltendő adatokat (bejövő adatok). A streamdeklaráció nem módosítható.

      • TimeGenerated – Az az időpont, amikor az adatokat az eseményközpontból az Azure Monitor-naplókba töltötték be.
      • RawData - Az esemény törzse. További információ: Események olvasása.
      • Properties - Az esemény felhasználói tulajdonságai. További információ: Események olvasása.
    • datasources – Megadja az event hub fogyasztói csoportját és azt a streamet, amelybe az adatokat betölti.

    • destinations – Megadja az összes célhelyet, ahol az adatok el lesznek küldve. Adatokat egy vagy több Log Analytics-munkaterületre is betölthet.

    • dataFlows – Összekapcsolja a streamet a cél-munkahellyel, megadja a transzformációs lekérdezést és a céltáblát. A példánkban adatokat megyünk be a korábban létrehozott egyéni táblába. Egy támogatott Azure-táblába is beolvaszthat.

    • transformKql – Megadja a bejövő adatokra (streamdeklarációra) alkalmazandó átalakítást a munkaterületre való küldés előtt. A példánkban transformKql-t source-re állítjuk, ami semmilyen módon nem módosítja az adatokat a forrásból, mert a bejövő adatokat egy kifejezetten az adott sémával létrehozott egyéni táblához rendeljük. Ha adatokat egy másik sémával rendelkező táblába ágyaz be, vagy a betöltés előtt szeretné szűrni az adatokat, definiáljon egy adatgyűjtés-átalakítást.

    {
        "$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."
                }
            },
            "workspaceResourceId": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the Azure resource ID of the Log Analytics workspace to use."
                }
            },
            "endpointResourceId": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the Azure resource ID of the data collection endpoint to use."
                }
            },
            "tableName": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the name of the table in the workspace."
                }
            },
            "consumerGroup": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the consumer group of event hub."
                },
                "defaultValue": "$Default"
            }
        },
        "resources": [
            {
                "type": "Microsoft.Insights/dataCollectionRules",
                "name": "[parameters('dataCollectionRuleName')]",
                "location": "[resourceGroup().location]", 
                "apiVersion": "2022-06-01",
                "identity": {
                    "type": "systemAssigned"
                    },
                "properties": {
                    "dataCollectionEndpointId": "[parameters('endpointResourceId')]",
                    "streamDeclarations": {
                        "Custom-MyEventHubStream": {
                            "columns": [
                                {
                                    "name": "TimeGenerated",
                                    "type": "datetime"
                                },
                                {
                                    "name": "RawData",
                                    "type": "string"
                                },
                                {
                                    "name": "Properties",
                                    "type": "dynamic"
                                }
                            ]
                        }
                    },
                    "dataSources": {
                        "dataImports": {
                            "eventHub": {
                                    "consumerGroup": "[parameters('consumerGroup')]",
                                    "stream": "Custom-MyEventHubStream",
                                    "name": "myEventHubDataSource1"
                            }
                        }
                   },
                    "destinations": {
                        "logAnalytics": [
                            {
                                "workspaceResourceId": "[parameters('workspaceResourceId')]",
                                "name": "MyDestination"
                            }
                        ]
                    },
                    "dataFlows": [
                        {
                            "streams": [
                                "Custom-MyEventHubStream"
                            ],
                            "destinations": [
                                "MyDestination"
                            ],
                            "transformKql": "source",
                            "outputStream": "[concat('Custom-', parameters('tableName'))]"
                        }
                    ]
                }
            }
        ]
    }
    
  4. Az egyéni központi telepítési 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 meghatározott paraméterek értékeit, beleértve a következőket:

    • Régió – Az adatgyűjtési szabály régiója. Automatikusan feltöltve a kiválasztott erőforráscsoport alapján.
    • Adatgyűjtési szabály neve – Adjon nevet a szabálynak.
    • Munkaterület erőforrás-azonosítója – Lásd a szükséges információk gyűjtését.
    • Végpont erőforrás-azonosítója – Az adatgyűjtési végpont létrehozásakor jön létre.
    • Tábla neve – A céltábla neve. A példában, és amikor egyéni táblát használ, a tábla nevének a _CL utótaggal kell végződnie. Ha adatokat ír be egy Azure-táblába, adja meg a tábla nevét – például Syslog – az utótag nélkül.
    • Fogyasztói csoport – A fogyasztói csoport alapértelmezés szerint a következőre $Defaultvan állítva: . Szükség esetén módosítsa az értéket egy másik event hub fogyasztói csoportra.

    Képernyőkép az egyéni sablon üzembe helyezésének képernyőről az oktatóanyagban beállított adatgyűjtési szabály üzembehelyezési értékeivel.

  5. A részletek áttekintésekor válassza a Véleményezés + létrehozás , majd a Létrehozás lehetőséget.

  6. Ha az üzembe helyezés befejeződött, bontsa ki az Üzembe helyezés részletei mezőt, és válassza ki az adatgyűjtési szabályt a részletek megtekintéséhez. Válassza a JSON nézetet.

    Képernyőkép az Adatgyűjtési szabály áttekintése képernyőről.

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

    Az adatgyűjtési szabály JSON nézetét bemutató képernyőkép.

Felhasználó által hozzárendelt felügyelt identitás konfigurálása (nem kötelező)

Ha úgy szeretné konfigurálni az adatgyűjtési szabályt, hogy támogassa a felhasználó által hozzárendelt identitást, a DCR-sablonban cserélje le a következőt:

    "identity": {
        "type": "systemAssigned"
    },

A következővel:

    "identity": {
        "type": "userAssigned",
        "userAssignedIdentities": {
            "<identity_resource_Id>": {
            }
        }
    },

Az <identity_resource_Id> érték megkereséséhez lépjen a felhasználó által hozzárendelt felügyelt identitás erőforrására az Azure Portalon, válassza a JSON lehetőséget az erőforrás JSON képernyőjének megnyitásához, majd másolja a felügyelt identitás erőforrás-azonosítóját.

Képernyőkép a Resource JSON képernyőről, kiemelve a felügyelt identitás erőforrás-azonosítóját.

Naplóadatok betöltése Egy Azure-táblába (nem kötelező)

Adatok betöltése egy támogatott Azure-táblába:

  1. Az adatgyűjtési szabályban módosítsa a következőt outputStream:

    Tól: "outputStream": "[concat('Custom-', parameters('tableName'))]"

    Címzett: "outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"

  2. Itt transformKqldefiniáljon egy átalakítást, amely elküldi a betöltött adatokat a cél Azure-tábla céloszlopaiba.

Az eseményközpont engedélyének megadása az adatgyűjtési szabályhoz

A felügyelt identitással bármilyen eseményközpontnak vagy Event Hubs-névtérnek adhat engedélyt, hogy eseményeket küldjön az adatgyűjtési szabálynak és a létrehozott adatgyűjtési végpontnak. Amikor megadja az engedélyeket az Event Hubs-névtérnek, a névtérben lévő összes eseményközpont örökli az engedélyeket.

  1. Az Azure Portal eseményközpontjában vagy Event Hubs-névterében válassza a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása lehetőséget.

    Képernyőkép az adatgyűjtési szabály Hozzáférés-vezérlés képernyőjét ábrázoló képernyőképről.

  2. Válassza az Azure Event Hubs-adat fogadót, és válassza a Tovább gombot.

    Képernyőkép az eseményközpont Szerepkör-hozzárendelés hozzáadása képernyőről, kiemelt Azure Event Hubs-adatátvevő szerepkörrel.

  3. Válassza ki a Felügyelt identitás lehetőséget a hozzáférés hozzárendeléséhez, és kattintson a Tagok kijelölése elemre. Válassza ki az Adatgyűjtési szabályt, keresse meg az adatgyűjtési szabályt név szerint, majd kattintson a Kiválasztás gombra.

    Képernyőkép a felügyelt identitáshoz való hozzáférés hozzárendeléséről.

  4. A szerepkör-hozzárendelés mentése előtt válassza a Véleményezés + hozzárendelés lehetőséget, és ellenőrizze a részleteket.

    Képernyőkép, amely a Szerepkör-hozzárendelés hozzáadása képernyő Véleményezés és hozzárendelés lapot mutatja.

Az adatgyűjtési szabály társítása az eseményközponttal

Az utolsó lépés az adatgyűjtési szabály társítása ahhoz az eseményközponthoz, ahonnan eseményeket szeretne gyűjteni.

Egyetlen adatgyűjtési szabályt több olyan eseményközponthoz is társíthat, amelyek ugyanazt a fogyasztói csoportot osztják meg, és adatokat használnak ugyanarra a streamre. Másik lehetőségként hozzárendelhet egy egyedi adatgyűjtési szabályt az egyes eseményközpontokhoz.

Fontos

Legalább egy adatgyűjtési szabályt hozzá kell rendelnie az eseményközponthoz az adatok eseményközpontból való betöltéséhez. Amikor törli az eseményközponthoz kapcsolódó összes adatgyűjtési szabálytársítást, leállítja az adatok betöltését az eseményközpontból.

Az Azure Portalon hozzon létre egy adatgyűjtési szabály társítást:

  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.

  2. Válassza a Saját sablon készítése a szerkesztőben lehetőséget.

  3. Illessze be a következő Resource Manager-sablont a szerkesztőbe, és válassza a Mentés lehetőséget.

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "eventHubResourceID": {
          "type": "string",
          "metadata": {
            "description": "Specifies the Azure resource ID of the event hub to use."
          }
        },
        "associationName": {
          "type": "string",
          "metadata": {
            "description": "The name of the association."
          }
        },
        "dataCollectionRuleID": {
          "type": "string",
          "metadata": {
            "description": "The resource ID of the data collection rule."
          }
        }
      },
      "resources": [
        {
          "type": "Microsoft.Insights/dataCollectionRuleAssociations",
          "apiVersion": "2021-09-01-preview",
          "scope": "[parameters('eventHubResourceId')]",
          "name": "[parameters('associationName')]",
          "properties": {
            "description": "Association of data collection rule. Deleting this association will break the data collection for this event hub.",
            "dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
          }
        }
      ]
    }
    
  4. Az egyéni központi telepítési képernyőn adjon meg egy előfizetési és erőforráscsoportot az adatgyűjtési szabály társításához, majd adja meg a sablonban definiált paraméterek értékeit, beleértve a következőket:

    • Régió – Automatikusan feltöltve a kiválasztott erőforráscsoport alapján.
    • Event Hub-példány erőforrás-azonosítója – Lásd a szükséges információk gyűjtését.
    • Társítás neve – Adjon nevet a társításnak.
    • Adatgyűjtési szabály azonosítója – Az adatgyűjtési szabály létrehozásakor jön létre.

    Képernyőkép az egyéni sablon üzembe helyezésének képernyőről az oktatóanyagban beállított adatgyűjtési szabálytársítás üzembehelyezési értékeivel.

  5. A részletek áttekintésekor válassza a Véleményezés + létrehozás , majd a Létrehozás lehetőséget.

Ellenőrizze a feldolgozott események céltábláját

Az Azure Monitor-naplók betöltik az eseményközpontban a DCRA létrehozásakor meglévő összes eseményt, feltéve, hogy a megőrzési időszakuk nem járt le, és az összes új esemény.

A betöltési események céltáblájának ellenőrzése:

  1. Lépjen a munkaterületre, és válassza a Naplók lehetőséget.

  2. Írjon egy egyszerű lekérdezést a lekérdezésszerkesztőbe, és válassza a Futtatás lehetőséget:

    <table_name>
    

    Eseményeket kell látnia az eseményközpontból.

Képernyőkép egy egyszerű lekérdezés eredményeiről egy egyéni táblán. Az eredmények egy eseményközpontból betöltött eseményekből állnak.

Az erőforrások rendbetétele

Ebben az oktatóanyagban a következő erőforrásokat hozta létre:

  • Egyéni tábla
  • Adatgyűjtési végpont
  • Adatgyűjtési szabály
  • Adatgyűjtési szabály társítás

Értékelje ki, hogy továbbra is szüksége van-e ezekre az erőforrásokra. Törölje a nem szükséges erőforrásokat egyenként, vagy törölje egyszerre az összes erőforrást az erőforráscsoport törlésével. A futó erőforrások pénzbe kerülhetnek, ha nem állítják le őket.

Ha le szeretné állítani az adatok eseményközpontból való betöltését, törölje az eseményközponthoz kapcsolódó összes adatgyűjtési szabálytársítást , vagy törölje magát az adatgyűjtési szabályokat . Ezek a műveletek az eseményközpont ellenőrzőpont-beállítását is visszaállítják.

Ismert problémák és korlátozások

Következő lépések

További információ a következőről: