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 betöltésre.

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

Előfeltételek

Ahhoz, hogy eseményeket küldjön az Azure Event Hubsból az Azure Monitor-naplókba, szüksége van ezekre az erőforrásokra, amelyek ugyanabban a régióban vannak:

Supported regions

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

Észak-, Dél- és Közép-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 UAE North South Africa North Australia Central
Délkelet-Brazília North Europe Australia East
Canada Central Norway East Australia Southeast
Canada East Switzerland North Közép-India
USA keleti régiója Nyugat-Svájc Kelet-Ázsia
USA 2. keleti régiója UK South Japan East
USA déli középső régiója Az Egyesült Királyság nyugati régiója Jio Nyugat-India
West US West Europe Korea Central
West US 3 Southeast Asia

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 szereplő erőforrások létrehozásához ezekre a részletekre lesz szüksége.

    Screenshot showing Log Analytics workspace overview screen with subscription ID, resource group name, and workspace name highlighted.

  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 lesz a munkaterület erőforrás-azonosítóra.

    Screenshot showing the Resource JSON screen with the workspace resource ID highlighted.

  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 szüksége lesz az eseményközpont-példány erőforrás-azonosítójára.

    Screenshot showing the Resource JSON screen with the event hub resource ID highlighted.

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öltésre, az Azure Portalon:

  1. Válassza a Cloud Shell gombot, és győződjön meg arról, hogy a környezet PowerShellre van állítva.

    Screenshot showing how to open Cloud Shell.

  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 esetén _CL utótaggal együtt), és állítsa be a <subscription_id>, <resource_group_name>, <workspace_name>és <table_name> az é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."
                    }
                ]
            }
        }
    }
    '@
    
    Invoke-AzRestMethod -Path "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/microsoft.operationalinsights/workspaces/<workspace_name>/tables/<table_name>?api-version=2021-12-01-preview" -Method PUT -payload $tableParams
    

Fontos

  • Az oszlopneveknek betűvel kell kezdődniük, és legfeljebb 45 alfanumerikus karakterből és aláhúzásból (_) állhatnak.
  • _ResourceId, , _ResourceIdid, _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.

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.

    Screenshot that shows the data collection endpoint Overview screen.

  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 fogja használni.

    Screenshot that shows the data collection endpoint JSON view.

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.

    Screenshot to deploy custom template.

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

    Screenshot to build template in the editor.

  3. Illessze be az alábbi Resource Manager-sablont a szerkesztőbe, majd válassza a Mentés lehetőséget.

    Screenshot to edit Resource Manager template.

    Figyelje meg az alábbi adatokat 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 – Megfelel a streamnek a cél-munkaterülettel, és megadja az átalakítási 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 betölthet.

    • 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 transformKqlsourcea forrásból származó adatokat semmilyen módon nem módosítjuk, mert a bejövő adatokat egy olyan egyéni táblához megfeleljük, amelyet kifejezetten a megfelelő sémával hoztunk létre. 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.

    Screenshot showing the Custom Template Deployment screen with the deployment values for the data collection rule set up in this tutorial.

  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.

    Screenshot that shows the Data Collection Rule Overview screen.

  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 fogja használni.

    Screenshot that shows the data collection rule JSON view.

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 fenti példában cserélje le a következőt:

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

a következőre:

    "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 és a felügyelt identitás erőforrás-azonosítójának másolásához.

Screenshot showing Resource JSON screen with the managed identity resource ID highlighted.

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:

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

    To: "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.

    Screenshot that shows the Access control screen for the data collection rule.

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

    Screenshot that shows the Add Role Assignment screen for the event hub with the Azure Event Hubs Data Receiver role highlighted.

  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.

    Screenshot that shows how to assign access to managed identity.

  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.

    Screenshot that shows the Review and Assign tab of the Add Role Assignment screen.

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. Ha törli az eseményközponthoz kapcsolódó összes adatgyűjtési szabálytársítást, az eseményközpontból leállítja az adatok betöltését.

Adatgyűjtési szabály társítása az Azure Portalon:

  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 az alábbi Resource Manager-sablont a szerkesztőbe, majd 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.

    Screenshot showing the Custom Template Deployment screen with the deployment values for the data collection rule association set up in this tutorial.

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

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

Most, hogy hozzárendelte az adatgyűjtési szabályt az eseményközponthoz, az Azure Monitor-naplók betöltik az összes olyan meglévő eseményt, amelynek megőrzési ideje nem járt le, és minden új eseményt.

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.

Screenshot showing the results of a simple query on a custom table. The results consist of events ingested from an event hub.

Clean up resources

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 futtatásból kilépő erőforrások pénzbe kerülhetnek.

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: