Руководство. Прием событий из Центры событий Azure в журналы Azure Monitor (общедоступная предварительная версия)

Центры событий Azure — это платформа потоковой передачи больших данных, которая собирает события из нескольких источников для приема в Azure и внешних службах. В этой статье объясняется, как получать данные непосредственно из концентратора событий в рабочую область Log Analytics.

В этом руководстве описано следующее:

  • Создание целевой таблицы для данных концентратора событий в рабочей области Log Analytics
  • Создание конечной точки сбора данных
  • Создание правила сбора данных
  • Предоставление разрешений правил сбора данных концентратору событий
  • Связывание правила сбора данных с концентратором событий

Необходимые компоненты

Чтобы отправлять события из Центры событий Azure в журналы Azure Monitor, вам потребуются эти ресурсы в одном регионе:

Поддерживаемые регионы

Azure Monitor в настоящее время поддерживает прием из Центров событий в следующих регионах:

Центральная и Южная Америка Европа Ближний Восток Африка Азиатско-Тихоокеанский регион
Brazil South Центральная Франция Северная часть ОАЭ; Северная часть ЮАР Центральная Австралия
Юго-Восточная Бразилия Северная Европа Восточная Австралия
Центральная Канада Восточная Норвегия; Юго-Восточная часть Австралии
Восточная Канада Северная Швейцария Центральная Индия
Восточная часть США Западная Швейцария Восточная Азия
восточная часть США 2 Южная часть Соединенного Королевства Восточная Япония
Центрально-южная часть США западная часть Соединенного Королевства Западная Индия Jio
западная часть США Западная Европа Республика Корея, центральный регион
Западная часть США 3 Юго-Восточная Азия

Сбор необходимых сведений

Вам потребуется идентификатор подписки, имя группы ресурсов, имя рабочей области, идентификатор ресурса рабочей области и идентификатор ресурса концентратора событий в последующих шагах:

  1. Перейдите в рабочую область в меню "Рабочие области Log Analytics" и выберите "Свойства " и скопируйте идентификатор подписки, группу ресурсов и имя рабочей области. Эти сведения потребуются для создания ресурсов в этом руководстве.

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

  2. Выберите JSON, чтобы открыть экран JSON ресурса и скопировать идентификатор ресурса рабочей области. Для создания правила сбора данных потребуется идентификатор ресурса рабочей области.

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

  3. Перейдите к экземпляру концентратора событий, выберите JSON, чтобы открыть экран JSON ресурса ресурса и скопировать идентификатор ресурса концентратора событий. Вам потребуется идентификатор ресурса экземпляра концентратора событий для связывания правила сбора данных с концентратором событий.

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

Создание целевой таблицы в рабочей области Log Analytics

Перед приемом данных необходимо настроить целевую таблицу. Вы можете получать данные в пользовательские таблицы и поддерживаемые таблицы Azure.

Чтобы создать пользовательскую таблицу для приема событий, в портал Azure:

  1. Нажмите кнопку Cloud Shell и убедитесь, что среда имеет значение PowerShell.

    Screenshot showing how to open Cloud Shell.

  2. Выполните следующую команду PowerShell, чтобы создать таблицу, указав имя таблицы () в ФОРМАТЕ JSON (<table_name>что тоже с суффиксом _CL в случае настраиваемой таблицы), а также задайте <subscription_id>значение , <resource_group_name><workspace_name>и <table_name> значения в команде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
    

Важно!

  • Имена столбцов должны начинаться с буквы и могут содержать до 45 буквенно-цифровых символов и символов подчеркивания (_).
  • _ResourceId, id, _ResourceIdTypeUniqueId_SubscriptionIdTenantIdи Title являются зарезервированными именами столбцов.
  • Имена столбцов чувствительны к регистру. Обязательно используйте правильный случай в правиле сбора данных.

Создание конечной точки сбора данных

Чтобы собирать данные с помощью правила сбора данных, требуется конечная точка сбора данных:

  1. Создайте конечную точку сбора данных.

    Важно!

    Создайте конечную точку сбора данных в том же регионе, что и рабочая область Log Analytics.

  2. На экране обзора конечной точки сбора данных выберите представление JSON.

    Screenshot that shows the data collection endpoint Overview screen.

  3. Скопируйте идентификатор ресурса для правила сбора данных. Эти сведения будут использоваться на следующем шаге.

    Screenshot that shows the data collection endpoint JSON view.

Создание правила сбора данных

Azure Monitor использует правила сбора данных для определения собираемых данных, преобразования данных и места отправки данных.

Чтобы создать правило сбора данных в портал Azure, выполните следующие действия.

  1. В поле поиска портала введите шаблон и выберите " Развернуть пользовательский шаблон".

    Screenshot to deploy custom template.

  2. Выберите Создать собственный шаблон в редакторе.

    Screenshot to build template in the editor.

  3. Вставьте приведенный ниже шаблон Resource Manager в редактор и нажмите кнопку "Сохранить".

    Screenshot to edit Resource Manager template.

    Обратите внимание на следующие сведения в правиле сбора данных ниже:

    • identity — определяет тип используемого управляемого удостоверения . В нашем примере мы используем назначаемое системой удостоверение. Вы также можете настроить управляемое удостоверение, назначаемое пользователем.

    • dataCollectionEndpointId — идентификатор ресурса конечной точки сбора данных.

    • streamDeclarations — определяет, какие данные следует принять из концентратора событий (входящие данные). Невозможно изменить объявление потока.

      • TimeGenerated — Время приема данных из концентратора событий в журналы Azure Monitor.
      • RawData — Текст события. Дополнительные сведения см. в разделе "Чтение событий".
      • Properties — Свойства пользователя из события. Дополнительные сведения см. в разделе "Чтение событий".
    • datasources — указывает группу потребителей концентратора событий и поток, в который вы отправляете данные.

    • destinations — указывает все назначения, в которых будут отправляться данные. Вы можете получать данные в одну или несколько рабочих областей Log Analytics.

    • dataFlows — соответствует потоку с целевой рабочей областью и указывает запрос преобразования и целевую таблицу. В нашем примере мы вводим данные в созданную ранее пользовательскую таблицу. Вы также можете использовать поддерживаемую таблицу Azure.

    • transformKql — указывает преобразование, которое будет применяться к входящим данным (объявлению потока) перед отправкой в рабочую область. В нашем примере мы устанавливаем значение transformKqlsource, которое не изменяет данные из источника каким-либо образом, так как мы сопоставляем входящие данные с пользовательской таблицей, которую мы создали специально с соответствующей схемой. Если вы выполняете прием данных в таблицу с другой схемой или фильтруете данные перед приемом, определите преобразование сбора данных.

    {
        "$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. На экране пользовательского развертывания укажите группу подписок и ресурсов для хранения правила сбора данных, а затем укажите значения параметров, определенных в шаблоне, включая:

    • Регион — регион для правила сбора данных. Заполняется автоматически на основе выбранной группы ресурсов.
    • Имя правила сбора данных — присвойте правилу имя.
    • Идентификатор ресурса рабочей области— см . сведения о сборе необходимых сведений.
    • Идентификатор ресурса конечной точки— создается при создании конечной точки сбора данных.
    • Имя таблицы — имя целевой таблицы. В нашем примере и всякий раз, когда вы используете пользовательскую таблицу, имя таблицы должно заканчиваться суффиксом _CL. Если вы вводите данные в таблицу Azure, введите имя таблицы ( например, Syslog без суффикса).
    • Группа потребителей — по умолчанию для группы потребителей задано $Defaultзначение . При необходимости измените значение на другую группу потребителей концентратора событий.

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

  5. Нажмите кнопку "Просмотр и создание ", а затем при просмотре сведений.

  6. По завершении развертывания разверните поле сведений о развертывании и выберите правило сбора данных для просмотра сведений. Выберите представление JSON.

    Screenshot that shows the Data Collection Rule Overview screen.

  7. Скопируйте идентификатор ресурса для правила сбора данных. Эти сведения будут использоваться на следующем шаге.

    Screenshot that shows the data collection rule JSON view.

Настройка управляемого удостоверения, назначаемого пользователем (необязательно)

Чтобы настроить правило сбора данных для поддержки назначаемого пользователем удостоверения, в приведенном выше примере замените:

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

на:

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

Чтобы найти <identity_resource_Id> это значение, перейдите к ресурсу управляемого удостоверения, назначаемого пользователем, в портал Azure выберите JSON, чтобы открыть экран RESOURCE JSON и скопировать идентификатор ресурса управляемого удостоверения.

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

Прием данных журнала в таблицу Azure (необязательно)

Чтобы получить данные в поддерживаемую таблицу Azure, выполните следующее:

  1. В правиле сбора данных измените outputStream:

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

    Кому: "outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"

  2. В transformKqlэтой статье определяется преобразование , которое отправляет приема данных в целевые столбцы в целевой таблице Azure.

Предоставление разрешения концентратора событий правилу сбора данных

С помощью управляемого удостоверения можно предоставить любой концентратор событий или пространство имен Центров событий, разрешение на отправку событий в созданное правило сбора данных и конечную точку сбора данных. При предоставлении разрешений пространству имен Центров событий все центры событий в пространстве имен наследуют разрешения.

  1. В концентраторе событий или пространстве имен Центров событий в портал Azure выберите контроль доступа (IAM)>Добавить назначение ролей.

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

  2. Выберите Центры событий Azure приемник данных и нажмите кнопку "Далее".

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

  3. Выберите управляемое удостоверение для назначения доступа и нажмите кнопку "Выбрать участников". Выберите правило сбора данных, найдите правило сбора данных по имени и нажмите кнопку "Выбрать".

    Screenshot that shows how to assign access to managed identity.

  4. Выберите "Проверить и назначить " и проверьте сведения перед сохранением назначения роли.

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

Связывание правила сбора данных с концентратором событий

Последним шагом является связывание правила сбора данных с концентратором событий, из которого требуется собирать события.

Вы можете связать одно правило сбора данных с несколькими концентраторами событий, которые совместно используют одну и ту же группу потребителей и получать данные в один поток. Кроме того, можно связать уникальное правило сбора данных с каждым концентратором событий.

Важно!

Необходимо связать по крайней мере одно правило сбора данных с концентратором событий с приемом данных из концентратора событий. При удалении всех связей правил сбора данных, связанных с концентратором событий, вы перестанете прием данных из концентратора событий.

Чтобы создать связь правила сбора данных в портал Azure, выполните следующие действия.

  1. На портале Azure в поле поиска введите шаблон, а затем выберите Развернуть настраиваемый шаблон.

  2. Выберите Создать собственный шаблон в редакторе.

  3. Вставьте приведенный ниже шаблон Resource Manager в редактор и нажмите кнопку "Сохранить".

    {
      "$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. На экране пользовательского развертывания укажите группу подписок и ресурсов для хранения сопоставления правил сбора данных, а затем укажите значения параметров, определенных в шаблоне, включая:

    • Регион — заполняется автоматически на основе выбранной группы ресурсов.
    • Идентификатор ресурса экземпляра концентратора событий— см. сведения о сборе необходимых сведений.
    • Имя ассоциации — присвойте ассоциации имя.
    • Идентификатор правила сбора данных— создается при создании правила сбора данных.

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

  5. Нажмите кнопку "Просмотр и создание ", а затем при просмотре сведений.

Проверьте целевую таблицу для приема событий

Теперь, когда вы связали правило сбора данных с концентратором событий, журналы Azure Monitor будут приема всех существующих событий, срок хранения которых не истек и все новые события.

Чтобы проверка целевую таблицу для приема событий:

  1. Перейдите в рабочую область и выберите "Журналы".

  2. Напишите простой запрос в редакторе запросов и нажмите кнопку "Выполнить".

    <table_name>
    

    События должны отображаться из концентратора событий.

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

Очистка ресурсов

В этом руководстве вы создали следующие ресурсы:

  • Пользовательская таблица
  • Конечная точка сбора данных
  • Правило сбора данных
  • Сопоставление правил сбора данных

Оцените, требуются ли эти ресурсы. Удалите ресурсы, которые вам не нужны отдельно, или удалите все эти ресурсы одновременно, удалив группу ресурсов. Работающие ресурсы могут приводить к дополнительным затратам.

Чтобы прекратить прием данных из концентратора событий, удалите все связи правил сбора данных, связанные с концентратором событий, или удалите сами правила сбора данных. Эти действия также сбрасывают проверка назначение концентратора событий.

Известные проблемы и ограничения

Следующие шаги

Дополнительные сведения см. в следующем: