Kurz: Ingestování událostí ze služby Azure Event Hubs do protokolů služby Azure Monitor (Public Preview)

Azure Event Hubs je platforma pro streamování velkých objemů dat, která shromažďuje události z více zdrojů, které ingestují Azure a externí služby. Tento článek vysvětluje, jak ingestovat data přímo z centra událostí do pracovního prostoru služby Log Analytics.

V tomto kurzu se naučíte:

  • Vytvoření cílové tabulky pro data centra událostí v pracovním prostoru služby Log Analytics
  • Vytvoření koncového bodu shromažďování dat
  • Vytvoření pravidla shromažďování dat
  • Udělení oprávnění k pravidlu shromažďování dat centru událostí
  • Přidružení pravidla shromažďování dat k centru událostí

Předpoklady

Pokud chcete odesílat události ze služby Azure Event Hubs do protokolů služby Azure Monitor, potřebujete tyto prostředky ve stejné oblasti:

Podporované oblasti

Azure Monitor v současné době podporuje příjem dat ze služby Event Hubs v těchto oblastech:

Amerika Evropa Střední východ Afrika Asie a Tichomoří
Brazílie – jih Francie – střed Spojené arabské emiráty – sever Jižní Afrika – sever Austrálie – střed
Brazílie – jihovýchod Severní Evropa Austrálie – východ
Střední Kanada Norsko – východ Austrálie – jihovýchod
Kanada – východ Švýcarsko – sever Indie – střed
East US Švýcarsko – západ Východní Asie
USA – východ 2 Spojené království – jih Japonsko – východ
Středojižní USA Spojené království – západ Jio Indie – západ
USA – západ West Europe Jižní Korea – střed
USA – západ 3 Southeast Asia

Shromáždění požadovaných informací

V následujících krocích potřebujete ID předplatného, název skupiny prostředků, název pracovního prostoru, ID prostředku pracovního prostoru a ID prostředku centra událostí:

  1. V nabídce Pracovních prostorů služby Log Analytics přejděte do svého pracovního prostoru a vyberte Vlastnosti a zkopírujte ID předplatného, skupinu prostředků a název pracovního prostoru. Tyto podrobnosti budete potřebovat k vytvoření prostředků v tomto kurzu.

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

  2. Výběrem kódu JSON otevřete obrazovku JSON prostředku a zkopírujte ID prostředku pracovního prostoru. K vytvoření pravidla shromažďování dat budete potřebovat ID prostředku pracovního prostoru.

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

  3. Přejděte do instance centra událostí, výběrem KÓDU JSON otevřete obrazovku RESOURCE JSON a zkopírujte ID prostředku instance centra událostí. K přidružení pravidla shromažďování dat k centru událostí budete potřebovat ID prostředku instance centra událostí.

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

Vytvoření cílové tabulky v pracovním prostoru služby Log Analytics

Než budete moct ingestovat data, musíte nastavit cílovou tabulku. Data můžete ingestovat do vlastních tabulek a podporovaných tabulek Azure.

Pokud chcete vytvořit vlastní tabulku, do které se mají ingestovat události, na webu Azure Portal:

  1. Vyberte tlačítko Cloud Shell a ujistěte se, že je prostředí nastavené na PowerShell.

    Screenshot showing how to open Cloud Shell.

  2. Spuštěním tohoto příkazu PowerShellu vytvořte tabulku, zadejte název tabulky (<table_name>) ve formátu JSON (který má také příponu _CL v případě vlastní tabulky) a v příkazu nastavte <subscription_id>, <resource_group_name><workspace_name>, a <table_name> hodnotyInvoke-AzRestMethod -Path:

    $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
    

Důležité

  • Názvy sloupců musí začínat písmenem a mohou obsahovat až 45 alfanumerických znaků a podtržítka (_).
  • _ResourceId, id, , _SubscriptionId_ResourceId, , TenantId, Type, UniqueIda Title jsou vyhrazené názvy sloupců.
  • V názvech sloupců se rozlišují malá a velká písmena. Ujistěte se, že v pravidle shromažďování dat používáte správný případ.

Vytvoření koncového bodu shromažďování dat

Pokud chcete shromažďovat data pomocí pravidla shromažďování dat, potřebujete koncový bod shromažďování dat:

  1. Vytvořte koncový bod shromažďování dat.

    Důležité

    Vytvořte koncový bod shromažďování dat ve stejné oblasti jako pracovní prostor služby Log Analytics.

  2. Na obrazovce Přehled koncového bodu shromažďování dat vyberte Zobrazení JSON.

    Screenshot that shows the data collection endpoint Overview screen.

  3. Zkopírujte ID prostředku pro pravidlo shromažďování dat. Tyto informace použijete v dalším kroku.

    Screenshot that shows the data collection endpoint JSON view.

Vytvoření pravidla shromažďování dat

Azure Monitor používá pravidla shromažďování dat k definování dat, která se mají shromažďovat, jak tato data transformovat a kam se mají data odesílat.

Vytvoření pravidla shromažďování dat na webu Azure Portal:

  1. Do vyhledávacího pole portálu zadejte šablonu a pak vyberte Nasadit vlastní šablonu.

    Screenshot to deploy custom template.

  2. Vyberte Vytvořit vlastní šablonu v editoru.

    Screenshot to build template in the editor.

  3. Vložte níže šablonu Resource Manageru do editoru a pak vyberte Uložit.

    Screenshot to edit Resource Manager template.

    V pravidle shromažďování dat níže si všimněte následujících podrobností:

    • identity – Definuje, jaký typ spravované identity se má použít. V našem příkladu používáme identitu přiřazenou systémem. Můžete také nakonfigurovat spravovanou identitu přiřazenou uživatelem.

    • dataCollectionEndpointId – ID prostředku koncového bodu shromažďování dat.

    • streamDeclarations – Definuje, která data se mají ingestovat z centra událostí (příchozí data). Deklaraci datového proudu nelze upravit.

      • TimeGenerated – Čas, kdy se data ingestovala z centra událostí do protokolů služby Azure Monitor.
      • RawData - Tělo události. Další informace najdete v tématu Čtení událostí.
      • Properties – Vlastnosti uživatele z události. Další informace najdete v tématu Čtení událostí.
    • datasources – Určuje skupinu příjemců centra událostí a stream, do kterého ingestujete data.

    • destinations – Určuje všechny cíle, do kterých se budou data odesílat. Data můžete ingestovat do jednoho nebo několika pracovních prostorů služby Log Analytics.

    • dataFlows – Odpovídá datovému proudu s cílovým pracovním prostorem a určuje transformační dotaz a cílovou tabulku. V našem příkladu ingestujeme data do vlastní tabulky, kterou jsme vytvořili dříve. Můžete také ingestovat do podporované tabulky Azure.

    • transformKql – Určuje transformaci, která se použije u příchozích dat (deklarace datového proudu) před odesláním do pracovního prostoru. V našem příkladu jsme nastavili transformKqlsourcehodnotu , která neupravuje data ze zdroje žádným způsobem, protože mapujeme příchozí data na vlastní tabulku, kterou jsme vytvořili speciálně s odpovídajícím schématem. Pokud data ingestujete do tabulky s jiným schématem nebo před příjmem dat filtrujete, definujte transformaci shromažďování dat.

    {
        "$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. Na obrazovce Vlastní nasazení zadejte předplatné a skupinu prostředků, do které se uloží pravidlo shromažďování dat, a zadejte hodnoty parametrů definovaných v šabloně, včetně:

    • Oblast – oblast pravidla shromažďování dat Automaticky vyplněno na základě vybrané skupiny prostředků.
    • Název pravidla shromažďování dat – pojmenujte pravidlo.
    • ID prostředku pracovního prostoru – Viz Shromažďování požadovaných informací.
    • ID prostředku koncového bodu – Vygenerováno při vytváření koncového bodu shromažďování dat.
    • Název tabulky – název cílové tabulky. V našem příkladu a pokaždé, když použijete vlastní tabulku, musí název tabulky končit příponou _CL. Pokud ingestujete data do tabulky Azure, zadejte název tabulky ( například Syslog – bez přípony).
    • Skupina příjemců – Ve výchozím nastavení je skupina příjemců nastavena na $Defaulthodnotu . V případě potřeby změňte hodnotu na jinou skupinu příjemců centra událostí.

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

  5. Vyberte Zkontrolovat a vytvořit a pak vytvořit , až si prohlédnete podrobnosti.

  6. Po dokončení nasazení rozbalte pole Podrobnosti o nasazení a výběrem pravidla shromažďování dat zobrazte jeho podrobnosti. Vyberte zobrazení JSON.

    Screenshot that shows the Data Collection Rule Overview screen.

  7. Zkopírujte ID prostředku pro pravidlo shromažďování dat. Tyto informace použijete v dalším kroku.

    Screenshot that shows the data collection rule JSON view.

Konfigurace spravované identity přiřazené uživatelem (volitelné)

Pokud chcete nakonfigurovat pravidlo shromažďování dat tak, aby podporovalo identitu přiřazenou uživatelem, nahraďte v předchozím příkladu:

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

textem:

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

Hodnotu najdete <identity_resource_Id> tak, že na webu Azure Portal přejdete k prostředku spravované identity přiřazené uživatelem, výběrem kódu JSON otevřete obrazovku JSON prostředku a zkopírujete ID prostředku spravované identity.

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

Ingestování dat protokolu do tabulky Azure (volitelné)

Příjem dat do podporované tabulky Azure:

  1. V pravidle shromažďování dat změňte outputStream:

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

    Komu: "outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"

  2. Definujte transformKqltransformaci, která odesílá ingestované data do cílových sloupců v cílové tabulce Azure.

Udělení oprávnění centra událostí pravidlu shromažďování dat

Pomocí spravované identity můžete udělit libovolnému centru událostí nebo oboru názvů Event Hubs oprávnění k odesílání událostí do pravidla shromažďování dat a koncovému bodu shromažďování dat, který jste vytvořili. Když udělíte oprávnění k oboru názvů služby Event Hubs, zdědí všechna centra událostí v rámci oboru názvů oprávnění.

  1. V centru událostí nebo oboru názvů služby Event Hubs na webu Azure Portal vyberte Řízení přístupu (IAM)>Přidat přiřazení role.

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

  2. Vyberte Příjemce dat služby Azure Event Hubs a vyberte Další.

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

  3. Vyberte Spravovanou identitu pro přiřazení přístupu a klikněte na Vybrat členy. Vyberte pravidlo shromažďování dat, vyhledejte pravidlo shromažďování dat podle názvu a klikněte na Vybrat.

    Screenshot that shows how to assign access to managed identity.

  4. Před uložením přiřazení role vyberte Zkontrolovat a přiřadit a ověřte podrobnosti.

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

Přidružení pravidla shromažďování dat k centru událostí

Posledním krokem je přidružení pravidla shromažďování dat k centru událostí, ze kterého chcete shromažďovat události.

Jedno pravidlo shromažďování dat můžete přidružit k několika centrem událostí, které sdílejí stejnou skupinu příjemců a ingestovat data do stejného datového proudu. Alternativně můžete ke každému centru událostí přidružit jedinečné pravidlo shromažďování dat.

Důležité

K ingestování dat z centra událostí musíte přidružit alespoň jedno pravidlo shromažďování dat. Když odstraníte všechna přidružení pravidel shromažďování dat související s centrem událostí, přestanete ingestovat data z centra událostí.

Vytvoření přidružení pravidla shromažďování dat na webu Azure Portal:

  1. Do vyhledávacího pole webu Azure Portal zadejte šablonu a pak vyberte Nasadit vlastní šablonu.

  2. Vyberte Vytvořit vlastní šablonu v editoru.

  3. Vložte níže šablonu Resource Manageru do editoru a pak vyberte Uložit.

    {
      "$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. Na obrazovce Vlastní nasazení zadejte předplatné a skupinu prostředků, do které se uloží přidružení pravidla shromažďování dat, a pak zadejte hodnoty parametrů definovaných v šabloně, mezi které patří:

    • Oblast – Vyplní se automaticky na základě vybrané skupiny prostředků.
    • ID prostředku instance centra událostí – viz Shromáždění požadovaných informací.
    • Název přidružení – pojmenujte přidružení.
    • ID pravidla shromažďování dat – vygenerováno při vytváření pravidla shromažďování dat.

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

  5. Vyberte Zkontrolovat a vytvořit a pak vytvořit , až si prohlédnete podrobnosti.

Kontrola přijatých událostí v cílové tabulce

Teď, když jste k centru událostí přidružili pravidlo shromažďování dat, protokoly služby Azure Monitor budou ingestovat všechny existující události, jejichž doba uchovávání nevypršela, a všechny nové události.

Pokud chcete zkontrolovat ingestované události v cílové tabulce:

  1. Přejděte do svého pracovního prostoru a vyberte Protokoly.

  2. V editoru dotazů napište jednoduchý dotaz a vyberte Spustit:

    <table_name>
    

    Měli byste vidět události z centra událostí.

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

Vyčištění prostředků

V tomto kurzu jste vytvořili následující prostředky:

  • Vlastní tabulka
  • Koncový bod shromažďování dat
  • Pravidlo shromažďování dat
  • Přidružení pravidla shromažďování dat

Vyhodnoťte, jestli tyto prostředky stále potřebujete. Odstraňte prostředky, které nepotřebujete jednotlivě, nebo odstraňte všechny tyto prostředky najednou odstraněním skupiny prostředků. Prostředky, které necháte spuštěné, vám můžou stát peníze.

Pokud chcete zastavit ingestování dat z centra událostí, odstraňte všechna přidružení pravidel shromažďování dat související s centrem událostí nebo odstraňte samotná pravidla shromažďování dat. Tyto akce také resetují vytváření kontrolních bodů centra událostí.

Známé problémy a omezení

Další kroky

Další informace o: