Мониторинг подключенных конечных точек

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

  • Метрики: для метрик на уровне конечной точки, таких как задержка запросов, запросы в минуту, новые подключения в секунду и сетевые байты, можно просмотреть подробные сведения на уровне развертывания или уровне состояния. Метрики уровня развертывания, такие как использование ЦП/ GPU и использование памяти или диска, также можно детализировать до уровня экземпляра. Azure Monitor позволяет отслеживать эти метрики на диаграммах и настраивать панели мониторинга и оповещения для дальнейшего анализа.

  • Журналы. Вы можете отправлять метрики в рабочую область Log Analytics, где можно запрашивать журналы с помощью синтаксиса запросов Kusto. Вы также можете отправлять метрики в служба хранилища Azure учетные записи и (или) Центры событий для дальнейшей обработки. Кроме того, можно использовать выделенные таблицы журналов для событий, связанных с веб-конечной точкой, трафика и журналов консоли (контейнера). Запрос Kusto позволяет выполнять сложный анализ и присоединение нескольких таблиц.

  • Application Insights: курированные среды включают интеграцию с Приложением Аналитика, и вы можете включить или отключить эту интеграцию при создании сетевого развертывания. Встроенные метрики и журналы отправляются в приложение Аналитика, и для дальнейшего анализа можно использовать встроенные функции приложений Аналитика (например, динамические метрики, поиск транзакций, сбои и производительность).

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

  • Выбор подходящего метода для просмотра и отслеживания метрик и журналов
  • Просмотр метрик для подключенной конечной точки
  • Создание панели мониторинга для метрик
  • Создание оповещения для метрики
  • Просмотр журналов для конечной точки в Интернете
  • Отслеживание метрик и журналов с помощью приложения Аналитика

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

  • Развертывание подключенной конечной точки Машинного обучения Azure.
  • У вас должен быть как минимум доступ для чтения к конечной точке.

Метрики

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

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

  1. Перейдите в Студию машинного обучения Azure.

  2. На панели навигации слева выберите Конечные точки.

  3. Выберите конечную точку, щелкнув ее имя.

  4. Выберите "Просмотреть метрики" в разделе "Атрибуты" конечной точки, чтобы открыть страницу метрик конечной точки в портал Azure.

  5. Выберите "Просмотреть метрики" в разделе для каждого доступного развертывания, чтобы открыть страницу метрик развертывания в портал Azure.

    A screenshot showing how to access the metrics of an endpoint and deployment from the studio UI.

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

  1. Войдите на портал Azure.

  2. Перейдите к подключенной конечной точке или ресурсу развертывания.

    Сетевые конечные точки и развертывания — это ресурсы Azure Resource Manager (ARM), которые можно найти, перейдя в свою группу ресурсов. Найдите ресурсы типов Сетевая конечная точка машинного обучения и Сетевое развертывание машинного обучения.

  3. В левом столбце выберите Метрики.

Доступные метрики

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

Метрики в области конечной точки

  • Request Latency
  • Задержка запроса P50 (задержка запроса на 50-м процентиле)
  • Задержка запроса P90 (задержка запроса на 90-м процентиле)
  • Задержка запроса P95 (задержка запроса на 95-м процентиле)
  • Число запросов в минуту
  • New connections per second
  • Количество активных соединений
  • Байт в сети

Разделение по следующим измерениям:

  • Развертывание
  • Код состояния
  • Класс кода состояния

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

Регулирование пропускной способности

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

  • Мониторинг метрики "Передача байтов по сети"
  • Прицепы ответов будут иметь поля: ms-azureml-bandwidth-request-delay-ms и ms-azureml-bandwidth-response-delay-ms. Значения полей — это задержки (в миллисекундах) регулирования полосы пропускания. Дополнительные сведения см. в разделе "Проблемы с ограничением пропускной способности".

Метрики в области развертывания

  • Процент использования ЦП
  • Емкость развертывания (число экземпляров запрошенного типа)
  • Использование диска
  • Использование памяти GPU (только для экземпляров GPU)
  • Использование GPU (только для экземпляров GPU)
  • Процент использования памяти

Разделение по следующим измерениям:

  • Идентификатор экземпляра

Например, можно сравнить использование ЦП и (или) памяти между экземплярами разницы для сетевого развертывания.

Создание панелей мониторинга и оповещений

Azure Monitor позволяет создавать панели мониторинга и оповещения на основе метрик.

Создание панелей мониторинга и визуализация запросов

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

Создание оповещений

Вы также можете создавать настраиваемые оповещения для отслеживания важных изменений состояния подключенной конечной точки:

  1. В правом верхнем углу страницы метрики выберите Новое правило генерации оповещений.

    Screenshot showing 'New alert rule' button surrounded by a red box.

  2. Выберите название условия, чтобы указать, когда должно срабатывать оповещение.

    Screenshot showing 'Configure signal logic' button surrounded by a red box.

  3. Выберите Добавить группы действий>Создать группы действий, чтобы указать, что должно происходить при срабатывании оповещения.

  4. Выберите Создать правило генерации оповещений, чтобы завершить создание оповещения.

Дополнительные сведения см. в статье "Создание правил генерации оповещений Azure Monitor".

Журналы

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

  • AmlOnlineEndpointTrafficLog: вы можете включить журналы трафика, если вы хотите проверка сведения о запросе. Ниже описаны некоторые случаи.

    • Если ответ не равно 200, проверка значение столбца ResponseCodeReason, чтобы увидеть, что произошло. Также проверьте причину в разделе "Коды состояния HTTPS" статьи Устранение неполадок с подключенными конечными точками.

    • Вы можете проверка код ответа и причину ответа модели из столбца ModelStatusCode и ModelStatusReason.

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

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

  • AmlOnlineEndpointConsoleLog: содержит журналы, выходные контейнеры в консоль. Ниже описаны некоторые случаи.

    • Если контейнер не удается запустить, журнал консоли может быть полезен для отладки.

    • Отслеживайте поведение контейнера на предмет правильной обработки всех запросов.

    • Запишите идентификаторы запросов в журнал консоли. Присоединение идентификатора запроса, AmlOnlineEndpointConsoleLog и AmlOnlineEndpointTrafficLog в рабочей области Log Analytics, можно отслеживать запрос из точки входа сети в контейнер.

    • Этот журнал также можно использовать для анализа производительности при определении времени, необходимого модели для обработки каждого запроса.

  • AmlOnlineEndpointEventLog: содержит сведения о событиях жизненного цикла контейнера. В настоящее время мы предоставляем сведения о перечисленных ниже видах событий.

    Имя. Сообщение
    Откат Откат перезапуска контейнера, который завершился сбоем
    Извлечено Образ контейнера <IMAGE_NAME> уже присутствует на компьютере
    Завершение Сервер вывода контейнера не прошел пробу активности и будет перезапущен
    Создание Создан контейнер image-fetcher
    Создание Создан контейнер inference-server
    Создание Создан контейнер model-mount
    LivenessProbeFailed Сбой пробы активности: <FAILURE_CONTENT>
    ReadinessProbeFailed Сбой пробы готовности: <FAILURE_CONTENT>
    Запуск Запущен контейнер image-fetcher
    Запуск Запущен контейнер inference-server
    Запуск Запущен контейнер model-mount
    Завершение Остановка контейнера inference-server
    Завершение Остановка контейнера model-mount

Включение и отключение журналов

Внимание

Функция ведения журналов использует Azure Log Analytics. Если у вас нет рабочей области Log Analytics, ее можно создать, выполнив действия, описанные в разделе Создание рабочей области Log Analytics на портале Azure.

  1. На портале Azure перейдите в группу ресурсов, содержащую вашу конечную точку, а затем выберите эту конечную точку.

  2. В разделе Мониторинг в левой части страницы выберите Параметры диагностики и нажмите Добавить параметры.

  3. Выберите категории журналов, которые нужно включить, нажмите Отправить в рабочую область Log Analytics, а затем выберите рабочую область. Наконец заполните поле Название параметра диагностики и нажмите кнопку Сохранить.

    Screenshot of the diagnostic settings dialog.

    Внимание

    Для активации подключения к рабочей области Log Analytics может потребоваться до часа. Подождите час, прежде чем продолжать.

  4. Отправьте запросы оценки на конечную точку. Это действие должно привести к добавлению записей в журналы.

  5. В свойствах подключенной конечной точки или рабочей области Log Analytics выберите Журналы в левой части экрана.

  6. Закройте диалоговое окно Запросы, которое открывается автоматически, а затем дважды щелкните AmlOnlineEndpointConsoleLog. Если вы не видите этот элемент, используйте поле поиска.

    Screenshot showing the log queries.

  7. Выберите Выполнить.

    Screenshots of the results after running a query.

Примеры запросов

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

Screenshot of the example queries.

Сведения о столбцах журнала

В таблицах ниже приведены сведения о данных, хранящихся в каждом журнале.

AmlOnlineEndpointTrafficLog

Свойство Description
Способ Запрошенный клиентом метод.
Путь Запрошенный клиентом путь.
SubscriptionId Идентификатор подписки службы машинного обучения для подключенной конечной точки.
AzureMLWorkspaceId Идентификатор рабочей области службы машинного обучения для подключенной конечной точки.
AzureMLWorkspaceName Имя рабочей области машинного обучения для конечной точки в Сети.
EndpointName Имя подключенной конечной точки.
DeploymentName Имя сетевого развертывания.
Протокол Протокол запроса.
ResponseCode Окончательный код отклика, возвращенный клиенту.
ResponseCodeReason Окончательная причина кода отклика, возвращенная клиенту.
ModelStatusCode Код состояния отклика от модели.
ModelStatusReason Причина состояния отклика от модели.
RequestPayloadSize Общее количество байтов, полученных от клиента.
ResponsePayloadSize Общее количество байтов, отправленных клиенту.
UserAgent Заголовок пользовательского агента запроса, включая примечания, но усечен до максимума 70 символов.
XRequestId Идентификатор запроса, созданный службой "Машинное обучение Azure" для внутренней трассировки.
XMSClientRequestId Идентификатор отслеживания, созданный клиентом.
TotalDurationMs Длительность в миллисекундах от момента начала запроса до отправки клиенту последнего байта ответа. В случае отключения клиента измеряется время с начала до момента отключения клиента.
RequestDurationMs Длительность в миллисекундах от момента начала запроса до получения от клиента последнего байта запроса.
ResponseDurationMs Длительность в миллисекундах от времени начала запроса до считывания первого байта ответа из модели.
RequestThrottlingDelayMs Задержка в миллисекундах при передаче данных запроса из-за регулирования пропускной способности сети.
ResponseThrottlingDelayMs Задержка в миллисекундах при передаче данных ответа из-за регулирования пропускной способности сети.

AmlOnlineEndpointConsoleLog

Свойство Description
TimeGenerated Метка времени создания журнала (в формате UTC).
OperationName Операция, связанная с записью журнала.
InstanceId Идентификатор экземпляра, создавшего эту запись журнала.
DeploymentName Название развертывания, связанного с записью журнала.
ContainerName Название контейнера, в котором был создан журнал.
Сообщение Содержимое журнала.

AmlOnlineEndpointEventLog

Свойство Description
TimeGenerated Метка времени создания журнала (в формате UTC).
OperationName Операция, связанная с записью журнала.
InstanceId Идентификатор экземпляра, создавшего эту запись журнала.
DeploymentName Название развертывания, связанного с записью журнала.
Имя. Имя события.
Сообщение Содержимое события.

Использование Application Insights

Курируемые среды включают интеграцию с Приложением Аналитика, и вы можете включить или отключить эту интеграцию при создании сетевого развертывания. Встроенные метрики и журналы отправляются в приложение Аналитика, и для дальнейшего анализа можно использовать встроенные функции приложений Аналитика (например, динамические метрики, поиск транзакций, сбои и производительность).

Дополнительные сведения см. в разделе "Приложение Аналитика".

В студии можно использовать вкладку "Мониторинг " на странице веб-конечной точки, чтобы просмотреть графы мониторов активности высокого уровня для управляемой конечной точки в Сети. Чтобы использовать вкладку мониторинга, необходимо выбрать параметр Enable Application Insights diagnostic and data collection при создании конечной точки.

A screenshot of monitoring endpoint-level metrics in the studio.