Поделиться через


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

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

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

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

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

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

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

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

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

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

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

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

    Снимок экрана: экран обзора рабочей области Log Analytics с идентификатором подписки, именем группы ресурсов и выделенным именем рабочей области.

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

    Снимок экрана: экран JSON ресурса с выделенным идентификатором ресурса рабочей области.

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

    Снимок экрана: экран JSON ресурса с выделенным идентификатором ресурса концентратора событий.

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

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

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

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

    Снимок экрана: открытие 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.

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

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

    Снимок экрана: представление JSON конечной точки сбора данных.

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

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

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

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

    Снимок экрана: развертывание настраиваемого шаблона.

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

    Снимок экрана: создание шаблона в редакторе.

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

    Снимок экрана: редактирование шаблона Resource Manager.

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

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

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

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

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

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

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

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

    {
        "$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значение . При необходимости измените значение на другую группу потребителей концентратора событий.

    Снимок экрана: экран

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

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

    Снимок экрана: экран обзора правила сбора данных.

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

    Снимок экрана: представление JSON правила сбора данных.

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

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

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

на:

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

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

Снимок экрана: экран JSON ресурсов с выделенным идентификатором ресурса управляемого удостоверения.

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

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

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

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

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

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

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

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

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

    Снимок экрана: экран управления доступом для правила сбора данных.

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

    Снимок экрана: экран добавления назначения ролей для концентратора событий с выделенной ролью Центры событий Azure приемника данных.

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

    Снимок экрана: назначение доступа к управляемому удостоверению.

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

    Снимок экрана: вкладка

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

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

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

Внимание

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

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

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

    Снимок экрана: экран

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

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

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

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

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

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

    <table_name>
    

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

Снимок экрана: результаты простого запроса в пользовательской таблице. Результаты состоят из событий, полученных из концентратора событий.

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

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

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

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

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

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

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

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