Udostępnij za pośrednictwem


Samouczek: pozyskiwanie zdarzeń z usługi Azure Event Hubs do dzienników usługi Azure Monitor (publiczna wersja zapoznawcza)

Azure Event Hubs to platforma przesyłania strumieniowego danych big data, która zbiera zdarzenia z wielu źródeł do pozyskiwania przez platformę Azure i usługi zewnętrzne. W tym artykule wyjaśniono, jak pozyskiwać dane bezpośrednio z centrum zdarzeń do obszaru roboczego usługi Log Analytics.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie tabeli docelowej dla danych centrum zdarzeń w obszarze roboczym usługi Log Analytics
  • Tworzenie punktu końcowego zbierania danych
  • Tworzenie reguły zbierania danych
  • Udzielanie uprawnień reguły zbierania danych do centrum zdarzeń
  • Kojarzenie reguły zbierania danych z centrum zdarzeń

Wymagania wstępne

Do wysyłania zdarzeń z usługi Azure Event Hubs do dzienników usługi Azure Monitor potrzebne są następujące zasoby:

Obsługiwane regiony

Usługa Azure Monitor obecnie obsługuje pozyskiwanie z usługi Event Hubs w następujących regionach:

Ameryka Północna i Południowa Europa Bliski Wschód Afryka Azja i Pacyfik
Brazylia Południowa Francja Środkowa Północne Zjednoczone Emiraty Arabskie Północna Republika Południowej Afryki Australia Środkowa
Brazylia Południowo–Wschodnia Europa Północna Australia Wschodnia
Kanada Środkowa Norwegia Wschodnia Australia Południowo-Wschodnia
Kanada Wschodnia Szwajcaria Północna Indie Środkowe
East US Szwajcaria Zachodnia Azja Wschodnia
Wschodnie stany USA 2 Południowe Zjednoczone Królestwo Japonia Wschodnia
South Central US Zachodnie Zjednoczone Królestwo Indie Zachodnie (Jio)
Zachodnie stany USA West Europe Korea Środkowa
Zachodnie stany USA 3 Southeast Asia

Musisz utworzyć skojarzenie reguły zbierania danych (DCRA) w tym samym regionie co centrum zdarzeń. Obszar roboczy usługi Log Analytics może znajdować się w dowolnym regionie, ale reguła zbierania danych (DCR) i punkt końcowy zbierania danych (DCE) muszą znajdować się w tym samym regionie co obszar roboczy usługi Log Analytics.

W przypadku minimalnych opóźnień zalecamy umieszczenie wszystkich zasobów w tym samym regionie.

Zbieranie wymaganych informacji

W kolejnych krokach potrzebujesz identyfikatora subskrypcji, nazwy grupy zasobów, nazwy obszaru roboczego, identyfikatora zasobu obszaru roboczego i identyfikatora zasobu wystąpienia centrum zdarzeń:

  1. Przejdź do obszaru roboczego w menu obszarów roboczych usługi Log Analytics, a następnie wybierz pozycję Właściwości i skopiuj identyfikator subskrypcji, grupę zasobów i nazwę obszaru roboczego. Te szczegóły będą potrzebne do utworzenia zasobów w tym samouczku.

    Zrzut ekranu przedstawiający ekran przeglądu obszaru roboczego usługi Log Analytics z wyróżnioną nazwą subskrypcji, nazwą grupy zasobów i nazwą obszaru roboczego.

  2. Wybierz pozycję JSON, aby otworzyć ekran JSON zasobu i skopiować identyfikator zasobu obszaru roboczego. Aby utworzyć regułę zbierania danych, potrzebny będzie identyfikator zasobu obszaru roboczego.

    Zrzut ekranu przedstawiający ekran JSON zasobu z wyróżnionym identyfikatorem zasobu obszaru roboczego.

  3. Przejdź do wystąpienia centrum zdarzeń, wybierz pozycję JSON, aby otworzyć ekran JSON zasobu i skopiować identyfikator zasobu wystąpienia centrum zdarzeń. Identyfikator zasobu wystąpienia centrum zdarzeń będzie potrzebny do skojarzenia reguły zbierania danych z centrum zdarzeń.

    Zrzut ekranu przedstawiający ekran JSON zasobu z wyróżnionym identyfikatorem zasobu centrum zdarzeń.

Tworzenie tabeli docelowej w obszarze roboczym usługi Log Analytics

Przed pozyskiwaniem danych należy skonfigurować tabelę docelową. Dane można pozyskiwać do tabel niestandardowych i obsługiwanych tabel platformy Azure.

Aby utworzyć tabelę niestandardową do pozyskiwania zdarzeń, w witrynie Azure Portal:

  1. Wybierz przycisk Cloud Shell i upewnij się, że środowisko jest ustawione na program PowerShell.

    Zrzut ekranu przedstawiający sposób otwierania usługi Cloud Shell.

  2. Uruchom to polecenie programu PowerShell, aby utworzyć tabelę, podając nazwę tabeli (<table_name>) w formacie JSON (która również ma sufiks _CL w przypadku tabeli niestandardowej) i ustawiając <subscription_id>wartości , <resource_group_name>, <workspace_name>i <table_name> w poleceniu Invoke-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
    

Ważne

  • Nazwy kolumn muszą zaczynać się literą i mogą składać się z maksymalnie 45 znaków alfanumerycznych i podkreśleń (_).
  • _ResourceId, , id_SubscriptionIdTenantIdType_ResourceIdUniqueId, i Title są zastrzeżonymi nazwami kolumn.
  • W nazwach kolumn jest rozróżniana wielkość liter. Pamiętaj, aby użyć poprawnego przypadku w regule zbierania danych.

Tworzenie punktu końcowego zbierania danych

Aby zbierać dane za pomocą reguły zbierania danych, potrzebny jest punkt końcowy zbierania danych:

  1. Utwórz punkt końcowy zbierania danych.

    Ważne

    Utwórz punkt końcowy zbierania danych w tym samym regionie co obszar roboczy usługi Log Analytics.

  2. Na ekranie Przegląd punktu końcowego zbierania danych wybierz pozycję Widok JSON.

    Zrzut ekranu przedstawiający ekran Przegląd punktu końcowego zbierania danych.

  3. Skopiuj identyfikator zasobu dla reguły zbierania danych. Te informacje będą używane w następnym kroku.

    Zrzut ekranu przedstawiający widok JSON punktu końcowego zbierania danych.

Tworzenie reguły zbierania danych

Usługa Azure Monitor używa reguł zbierania danych do definiowania, które dane mają być zbierane, jak przekształcać te dane oraz gdzie wysyłać dane.

Aby utworzyć regułę zbierania danych w witrynie Azure Portal:

  1. W polu wyszukiwania portalu wpisz szablon, a następnie wybierz pozycję Wdróż szablon niestandardowy.

    Zrzut ekranu przedstawiający wdrażanie szablonu niestandardowego.

  2. Wybierz pozycję Utwórz własny szablon w edytorze.

    Zrzut ekranu przedstawiający tworzenie szablonu w edytorze.

  3. Wklej poniższy szablon usługi Resource Manager do edytora, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający edytowanie szablonu usługi Resource Manager.

    Zwróć uwagę na następujące szczegóły w poniższej regule zbierania danych:

    • identity— Określa typ tożsamości zarządzanej do użycia. W naszym przykładzie używamy tożsamości przypisanej przez system. Można również skonfigurować tożsamość zarządzaną przypisaną przez użytkownika.

    • dataCollectionEndpointId — Identyfikator zasobu punktu końcowego zbierania danych.

    • streamDeclarations - Definiuje dane do pozyskiwania z centrum zdarzeń (dane przychodzące). Nie można zmodyfikować deklaracji strumienia.

      • TimeGenerated — czas pozyskiwania danych z centrum zdarzeń do dzienników usługi Azure Monitor.
      • RawData - Treść zdarzenia. Aby uzyskać więcej informacji, zobacz Odczyt zdarzeń.
      • Properties - Właściwości użytkownika ze zdarzenia. Aby uzyskać więcej informacji, zobacz Odczyt zdarzeń.
    • datasources- Określa grupę odbiorców centrum zdarzeń i strumień, do którego pozyskasz dane.

    • destinations - Określa wszystkie miejsca docelowe, w których będą wysyłane dane. Dane można pozyskiwać do co najmniej jednego obszaru roboczego usługi Log Analytics.

    • dataFlows - Pasuje do strumienia z docelowym obszarem roboczym i określa zapytanie przekształcenia i tabelę docelową. W naszym przykładzie pozyskujemy dane do utworzonej wcześniej tabeli niestandardowej. Możesz również pozyskać do obsługiwanej tabeli platformy Azure.

    • transformKql — Określa przekształcenie, które ma zostać zastosowane do danych przychodzących (deklaracja strumienia) przed wysłaniem ich do obszaru roboczego. W naszym przykładzie ustawiliśmy wartość transformKql source, która nie modyfikuje danych ze źródła w żaden sposób, ponieważ mapujemy dane przychodzące na tabelę niestandardową, która została utworzona specjalnie z odpowiednim schematem. Jeśli zbierasz dane do tabeli z innym schematem lub filtrujesz dane przed pozyskiwaniem, zdefiniuj przekształcenie zbierania danych.

    {
        "$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 ekranie Wdrożenie niestandardowe określ subskrypcję i grupę zasobów do przechowywania reguły zbierania danych, a następnie podaj wartości parametrów zdefiniowanych w szablonie, w tym:

    • Region — region reguły zbierania danych. Wypełnione automatycznie na podstawie wybranej grupy zasobów.
    • Nazwa reguły zbierania danych — nadaj regule nazwę.
    • Identyfikator zasobu obszaru roboczego — zobacz Zbieranie wymaganych informacji.
    • Identyfikator zasobu punktu końcowego — generowany podczas tworzenia punktu końcowego zbierania danych.
    • Nazwa tabeli — nazwa tabeli docelowej. W naszym przykładzie i za każdym razem, gdy używasz tabeli niestandardowej, nazwa tabeli musi kończyć się sufiksem _CL. Jeśli pozyskujesz dane do tabeli platformy Azure, wprowadź nazwę tabeli — na przykład Syslog — bez sufiksu.
    • Grupa odbiorców — domyślnie grupa odbiorców jest ustawiona na $Defaultwartość . W razie potrzeby zmień wartość na inną grupę odbiorców centrum zdarzeń.

    Zrzut ekranu przedstawiający ekran Wdrażanie szablonu niestandardowego z wartościami wdrożenia dla reguły zbierania danych skonfigurowanej w tym samouczku.

  5. Wybierz pozycję Przejrzyj i utwórz , a następnie pozycję Utwórz po przejrzeniu szczegółów.

  6. Po zakończeniu wdrażania rozwiń pole Szczegóły wdrożenia i wybierz regułę zbierania danych, aby wyświetlić jego szczegóły. Wybierz pozycję Widok JSON.

    Zrzut ekranu przedstawiający ekran Przegląd reguły zbierania danych.

  7. Skopiuj identyfikator zasobu dla reguły zbierania danych. Te informacje będą używane w następnym kroku.

    Zrzut ekranu przedstawiający widok JSON reguły zbierania danych.

Konfigurowanie tożsamości zarządzanej przypisanej przez użytkownika (opcjonalnie)

Aby skonfigurować regułę zbierania danych w celu obsługi tożsamości przypisanej przez użytkownika, w powyższym przykładzie zastąp:

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

tym:

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

Aby znaleźć <identity_resource_Id> wartość, przejdź do zasobu tożsamości zarządzanej przypisanej przez użytkownika w witrynie Azure Portal, wybierz pozycję JSON, aby otworzyć ekran JSON zasobu i skopiować identyfikator zasobu tożsamości zarządzanej.

Zrzut ekranu przedstawiający ekran JSON zasobu z wyróżnionym identyfikatorem zasobu tożsamości zarządzanej.

Pozyskiwanie danych dziennika do tabeli platformy Azure (opcjonalnie)

Aby pozyskać dane do obsługiwanej tabeli platformy Azure:

  1. W regule zbierania danych zmień wartość outputStream:

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

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

  2. W transformKqlpliku zdefiniuj przekształcenie , które wysyła pozyskane dane do kolumn docelowych w docelowej tabeli platformy Azure.

Udzielanie uprawnień centrum zdarzeń do reguły zbierania danych

Za pomocą tożsamości zarządzanej można nadać dowolne centrum zdarzeń lub przestrzeni nazw usługi Event Hubs uprawnienie do wysyłania zdarzeń do utworzonego punktu końcowego zbierania danych i zbierania danych. Po udzieleniu uprawnień do przestrzeni nazw usługi Event Hubs wszystkie centra zdarzeń w przestrzeni nazw dziedziczą uprawnienia.

  1. W centrum zdarzeń lub przestrzeni nazw usługi Event Hubs w witrynie Azure Portal wybierz pozycję Kontrola dostępu (IAM)>Dodaj przypisanie roli.

    Zrzut ekranu przedstawiający ekran Kontrola dostępu dla reguły zbierania danych.

  2. Wybierz pozycję Odbiornik danych usługi Azure Event Hubs i wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający ekran Dodawanie przypisania roli dla centrum zdarzeń z wyróżnioną rolą Odbiornik danych usługi Azure Event Hubs.

  3. Wybierz pozycję Tożsamość zarządzana w polu Przypisz dostęp do i kliknij pozycję Wybierz członków. Wybierz regułę zbierania danych, wyszukaj regułę zbierania danych według nazwy, a następnie kliknij pozycję Wybierz.

    Zrzut ekranu przedstawiający sposób przypisywania dostępu do tożsamości zarządzanej.

  4. Wybierz pozycję Przejrzyj i przypisz i zweryfikuj szczegóły przed zapisaniem przypisania roli.

    Zrzut ekranu przedstawiający kartę Przeglądanie i przypisywanie na ekranie Dodawanie przypisania roli.

Kojarzenie reguły zbierania danych z centrum zdarzeń

Ostatnim krokiem jest skojarzenie reguły zbierania danych z centrum zdarzeń, z którego chcesz zbierać zdarzenia.

Można skojarzyć pojedynczą regułę zbierania danych z wieloma centrami zdarzeń, które współużytkować tę samą grupę odbiorców i pozyskiwać dane do tego samego strumienia. Alternatywnie można skojarzyć unikatową regułę zbierania danych z każdym centrum zdarzeń.

Ważne

Do centrum zdarzeń należy skojarzyć co najmniej jedną regułę zbierania danych w celu pozyskiwania danych z centrum zdarzeń. Usunięcie wszystkich skojarzeń reguł zbierania danych powiązanych z centrum zdarzeń spowoduje zatrzymanie pozyskiwania danych z centrum zdarzeń.

Aby utworzyć skojarzenie reguły zbierania danych w witrynie Azure Portal:

  1. W polu wyszukiwania witryny Azure Portal wpisz szablon, a następnie wybierz pozycję Wdróż szablon niestandardowy.

  2. Wybierz pozycję Utwórz własny szablon w edytorze.

  3. Wklej poniższy szablon usługi Resource Manager do edytora, a następnie wybierz pozycję Zapisz.

    {
      "$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 ekranie Wdrożenie niestandardowe określ subskrypcję i grupę zasobów do przechowywania skojarzenia reguły zbierania danych, a następnie podaj wartości parametrów zdefiniowanych w szablonie, w tym:

    • Region — wypełniany automatycznie na podstawie wybranej grupy zasobów.
    • Identyfikator zasobu wystąpienia centrum zdarzeń — zobacz Zbieranie wymaganych informacji.
    • Nazwa skojarzenia — nadaj skojarzeniu nazwę.
    • Identyfikator reguły zbierania danych — generowany podczas tworzenia reguły zbierania danych.

    Zrzut ekranu przedstawiający ekran Wdrażanie szablonu niestandardowego z wartościami wdrożenia skojarzenia reguły zbierania danych skonfigurowanymi w tym samouczku.

  5. Wybierz pozycję Przejrzyj i utwórz , a następnie pozycję Utwórz po przejrzeniu szczegółów.

Sprawdzanie tabeli docelowej pod kątem pozyskanych zdarzeń

Dzienniki usługi Azure Monitor pozyskują wszystkie zdarzenia, które istnieją w centrum zdarzeń w momencie tworzenia usługi DCRA, pod warunkiem, że ich okres przechowywania nie wygasł i wszystkie nowe zdarzenia.

Aby sprawdzić tabelę docelową pod kątem pozyskanych zdarzeń:

  1. Przejdź do obszaru roboczego i wybierz pozycję Dzienniki.

  2. Napisz proste zapytanie w edytorze zapytań i wybierz pozycję Uruchom:

    <table_name>
    

    Zdarzenia powinny być widoczne z centrum zdarzeń.

Zrzut ekranu przedstawiający wyniki prostego zapytania w tabeli niestandardowej. Wyniki składają się z zdarzeń pozyskanych z centrum zdarzeń.

Czyszczenie zasobów

W tym samouczku utworzono następujące zasoby:

  • Tabela niestandardowa
  • Punkt końcowy zbierania danych
  • Reguła zbierania danych
  • Skojarzenie reguły zbierania danych

Oceń, czy te zasoby są nadal potrzebne. Usuń zasoby, których nie potrzebujesz pojedynczo lub usuń wszystkie te zasoby jednocześnie, usuwając grupę zasobów. Zasoby, które opuszczasz, mogą kosztować Pieniądze.

Aby zatrzymać pozyskiwanie danych z centrum zdarzeń, usuń wszystkie skojarzenia reguł zbierania danych powiązane z centrum zdarzeń lub usuń same reguły zbierania danych. Te akcje umożliwiają również zresetowanie punktów kontrolnych centrum zdarzeń.

Znane problemy i ograniczenia

  • Jeśli przeniesiesz subskrypcję między katalogami firmy Microsoft Entra, musisz wykonać kroki opisane w temacie Znane problemy z tożsamościami zarządzanymi dla zasobów platformy Azure, aby kontynuować pozyskiwanie danych.
  • Komunikaty można pozyskiwać maksymalnie 64 KB z usługi Event Hubs do dzienników usługi Azure Monitor.

Następne kroki

Dowiedz się więcej o: