Sdílet prostřednictvím


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í

Požadavky

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

Podporované oblasti

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

Amerika Evropě 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 Velká Británie – jih Japonsko – východ
Středojižní USA Spojené království – západ Jio – západní Indie
USA – západ Západní Evropa Jižní Korea – střed
USA – západ 3 Southeast Asia

Musíte vytvořit přidružení pravidla shromažďování dat (DCRA) ve stejné oblasti jako centrum událostí. Pracovní prostor služby Log Analytics může být v libovolné oblasti, ale pravidlo shromažďování dat (DCR) a koncový bod shromažďování dat (DCE) musí být ve stejné oblasti jako pracovní prostor služby Log Analytics.

Pro minimální latenci doporučujeme umístit všechny prostředky do stejné oblasti.

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.

    Snímek obrazovky s přehledem pracovního prostoru služby Log Analytics se zvýrazněným ID předplatného, názvem skupiny prostředků a názvem pracovního prostoru

  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.

    Snímek obrazovky JSON prostředku se zvýrazněným ID prostředku pracovního prostoru

  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í.

    Snímek obrazovky JSON prostředku se zvýrazněným ID prostředku centra událostí

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.

    Snímek obrazovky znázorňující, jak otevřít 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.

    Snímek obrazovky znázorňující obrazovku Přehled koncového bodu shromažďování dat

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

    Snímek obrazovky znázorňující zobrazení JSON koncového bodu shromažďování dat

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.

    Snímek obrazovky pro nasazení vlastní šablony

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

    Snímek obrazovky pro sestavení šablony v editoru

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

    Snímek obrazovky pro úpravu šablony Resource Manageru

    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 transformKql sourcehodnotu , 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í.

    Snímek obrazovky Nasazení vlastní šablony s hodnotami nasazení pro pravidlo shromažďování dat nastavené v tomto kurzu

  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.

    Snímek obrazovky s přehledem pravidla shromažďování dat

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

    Snímek obrazovky znázorňující zobrazení JSON pravidla shromažďování dat

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.

Snímek obrazovky JSON prostředku se zvýrazněným ID prostředku spravované identity

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:

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

    Snímek obrazovky znázorňující obrazovku řízení přístupu pro pravidlo shromažďování dat

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

    Snímek obrazovky znázorňující obrazovku Přidat přiřazení role pro centrum událostí se zvýrazněnou rolí Příjemce dat služby Azure Event Hubs

  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.

    Snímek obrazovky, který ukazuje, jak přiřadit přístup ke spravované identitě

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

    Snímek obrazovky znázorňující kartu Revize a Přiřazení na obrazovce Přidat přiřazení role

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.

    Snímek obrazovky nasazení vlastní šablony s hodnotami nasazení pro přidružení pravidla shromažďování dat nastavenými v tomto kurzu

  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

Protokoly služby Azure Monitor ingestují všechny události, které existují v centru událostí v době vytvoření DCRA, za předpokladu, že 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í.

Snímek obrazovky znázorňující výsledky jednoduchého dotazu ve vlastní tabulce Výsledky se skládají z událostí přijatých z centra událostí.

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: