Как регистрировать события в Центрах событий Azure при использовании службы управления API Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

В этой статье приведены сведения о регистрации событий Управления API в журнале с помощью Центров событий Azure.

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

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

Настройка доступа к концентратору событий

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

  • Строка подключения Центров событий
  • Управляемое удостоверение для экземпляра Управление API.

Вариант 1. Настройка центров событий строка подключения

Сведения о создании строка подключения Центров событий см. в разделе "Получение строка подключения Центров событий".

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

Вариант 2. Настройка управляемого удостоверения Управление API

Примечание.

Использование управляемого удостоверения Управление API для ведения журнала событий в концентраторе событий поддерживается в Управление API версии 2022-04-01-preview REST API или более поздней версии.

  1. Включите назначаемое системой или назначаемое пользователем управляемое удостоверение для Управления API в экземпляре Управления API.

    • Если вы включаете управляемое удостоверение, назначаемое пользователем, запишите идентификатор клиента удостоверения.
  2. Назначьте удостоверение роли отправителя данных Центры событий Azure, область в пространство имен Центров событий или концентратор событий, используемый для ведения журнала. Для назначения этой роли можно использовать портал Azure или другие инструменты Azure.

Создание средства ведения журнала для управления API

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

Создание и управление средствами ведения журнала Управление API с помощью REST API Управление API или с помощью средств, включая Azure PowerShell, шаблон Bicep или шаблон Управления ресурсами Azure.

Средство ведения журнала с помощью учетных данных строка подключения

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

В следующем примере используется командлет New-AzApiManagementLogger для создания средства ведения журнала в концентраторе событий путем настройки строка подключения.

# API Management service-specific details
$apimServiceName = "apim-hello-world"
$resourceGroupName = "myResourceGroup"

# Create logger
$context = New-AzApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $apimServiceName
New-AzApiManagementLogger -Context $context -LoggerId "ContosoLogger1" -Name "ApimEventHub" -ConnectionString "Endpoint=sb://<EventHubsNamespace>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<key>" -Description "Event hub logger with connection string"

Средство ведения журнала с учетными данными управляемого удостоверения, назначаемого системой

Предварительные требования см. в разделе "Настройка Управление API управляемого удостоверения".

Используйте REST API Управление API или шаблон Bicep или ARM для настройки средства ведения журнала в концентратор событий с учетными данными управляемого удостоверения, назначаемого системой.

{
  "properties": {
    "loggerType": "azureEventHub",
    "description": "adding a new logger with system assigned managed identity",
    "credentials": {
         "endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
         "identityClientId":"SystemAssigned",
         "name":"<EventHubName>"
    }
  }
}

Средство ведения журнала с учетными данными управляемого удостоверения, назначаемого пользователем

Предварительные требования см. в разделе "Настройка Управление API управляемого удостоверения".

Используйте rest API Управление API или шаблон Bicep или ARM, чтобы настроить средство ведения журнала в концентраторе событий с учетными данными управляемого удостоверения, назначаемого пользователем.

{
  "properties": {
    "loggerType": "azureEventHub",
    "description": "adding a new logger with user-assigned managed identity",
    "credentials": {
         "endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
         "identityClientId":"<ClientID>",
         "name":"<EventHubName>"
    }
  }
}

Настройка политики log-to-eventhub

После настройки средства ведения журнала в Управление API вы можете настроить политику log-to-eventhub для регистрации нужных событий. Например, используйте log-to-eventhub политику в разделе политики входящего трафика для регистрации запросов или в разделе политики исходящего трафика для регистрации ответов.

  1. Перейдите к экземпляру службы управления API.

  2. Выберите API, а затем выберите API, в который нужно добавить политику. В этом примере мы добавляем политику Echo API в продукт Unlimited.

  3. Выберите Все операции.

  4. В верхней части экрана выберите вкладку "Конструктор ".

  5. В окне обработки входящего трафика или исходящего трафика щелкните </> значок (редактор кода). Дополнительные сведения см. в статье Настройка или изменение политик службы управления API Azure.

  6. Наведите указатель мыши на раздел политики inbound или outbound.

  7. В окне справа выберите Дополнительные политики>Log to Event Hub (Регистрация в концентраторе событий). В результате будет вставлен шаблон инструкции политики log-to-eventhub.

    <log-to-eventhub logger-id="logger-id">
        @{
            return new JObject(
                new JProperty("EventTime", DateTime.UtcNow.ToString()),
                new JProperty("ServiceName", context.Deployment.ServiceName),
                new JProperty("RequestId", context.RequestId),
                new JProperty("RequestIp", context.Request.IpAddress),
                new JProperty("OperationName", context.Operation.Name)
            ).ToString();
        }
    </log-to-eventhub>
    
    1. Замените logger-id именем средства ведения журнала, созданного на предыдущем шаге.
    2. Вы можете использовать любое выражение, которое возвращает строку в качестве значения для элемента log-to-eventhub . В этом примере регистрируется строка в формате JSON, содержащая дату и время, имя службы, идентификатор запроса, IP-адрес запроса и имя операции.
  8. Нажмите кнопку "Сохранить", чтобы сохранить обновленную конфигурацию политики. После сохранения политика активна, а события регистрируются в указанном концентраторе событий.

Примечание.

Максимальный поддерживаемый размер сообщения, отправляемого в концентратор событий из этой политики службы "Управление API", составляет 200 килобайт (КБ). Если сообщение, отправленное в концентратор событий, превышает 200 КБ, оно будет автоматически усечено, а усеченное сообщение будет передано в концентратор событий.

Предварительный просмотр журнала в Центрах событий с помощью Azure Stream Analytics

Вы можете предварительно просмотреть журнал в Центрах событий с помощью запросов Azure Stream Analytics.

  1. На портале Azure перейдите к концентратору событий, в который средство ведения журнала отправляет события.
  2. В разделе Компоненты перейдите на вкладку Обработка данных.
  3. В области "Включить аналитику в режиме реального времени" из событий карта нажмите кнопку "Пуск".
  4. Вы можете просмотреть журнал на вкладке Предпросмотр ввода. Если отображаемые данные не являются актуальными, выберите Обновить, чтобы просмотреть последние события.

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