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


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

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

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

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

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

В этой статье показано, как:

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

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

  • Конечная точка Машинное обучение Azure в Сети
  • По крайней мере доступ читателя к конечной точке

Используйте метрики

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

Доступ к метрикам из Студия машинного обучения Azure

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

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

  1. В Студия машинного обучения Azure перейдите в рабочую область.

  2. В разделе "Ресурсы" выберите "Конечные точки".

  3. Выберите имя конечной точки.

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

    Снимок экрана: страница конечной точки в студии с атрибутами конечной точки. Выделены ресурсы, конечные точки, атрибуты конечной точки и метрики представления.

    Откроется страница метрик конечной точки в портал Azure.

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

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

    Откроется страница метрик развертывания в портал Azure.

Доступ к метрикам из портал Azure

Другой способ просмотра страницы метрик для конечной точки или развертывания — перейти непосредственно к портал Azure:

  1. Переход на портал Azure.

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

    Конечные точки и развертывания в Сети — это ресурсы Azure Resource Manager. Их можно найти, перейдя в группу ресурсов, а затем найдите типы ресурсов, Машинное обучение конечную точку в Интернете и Машинное обучение онлайн-развертывание.

  3. На странице ресурсов в разделе "Мониторинг" выберите "Метрики".

    Снимок экрана: портал Azure, на котором показана страница метрик для развертывания. Выделены мониторинг и метрики.

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

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

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

Сведения о метриках, доступных в области веб-конечной точки, см. в статье "Поддерживаемые метрики для Microsoft.MachineLearningServices/workspaces/onlineEndpoints".

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

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

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

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

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

Сведения о метриках, доступных в области развертывания, см. в статье "Поддерживаемые метрики для Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments".

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

В Мониторе можно создавать панели мониторинга и оповещения, основанные на метриках.

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

Можно создать пользовательские панели мониторинга, чтобы можно было визуализировать метрики из нескольких источников в портал Azure, включая метрики для конечной точки в Сети. Дополнительные сведения о создании панелей мониторинга и визуализации запросов см. в статье "Создание и совместное использование панелей мониторинга данных Log Analytics " и создание пользовательских панелей ключевых показателей эффективности с помощью Application Insights.

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

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

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

    Снимок экрана: портал Azure, на котором показана страница метрик для развертывания. Выделено новое правило генерации оповещений.

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

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

    Снимок экрана: страница создания правила генерации оповещений в портал Azure. Выделено поле

  4. В окне "Выбор групп действий" создайте или выберите группу действий, чтобы указать, что происходит при активации оповещения. Дополнительные сведения см. в разделе "Настройка сведений о правиле генерации оповещений".

  5. Нажмите кнопку "Просмотр и создание", чтобы завершить создание оповещения.

Автоматическое масштабирование на основе метрик

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

Параметры кода — это интерфейс командной строки Машинное обучение Azure и пакет SDK Машинное обучение Azure для Python. При использовании кода необходимо настроить условия автоматического масштабирования, указав имя REST API метрик.

Дополнительные сведения см. в разделе "Автомасштабирование сетевых конечных точек" в Машинное обучение Azure.

Использование журналов

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

  • AmlOnlineEndpointTrafficLog: этот журнал трафика предоставляет способ проверки сведений о запросах к конечной точке. Этот журнал полезен в следующих случаях:

    • Ответ на запрос не является 200, и требуется дополнительная информация. Столбец ResponseCodeReason в журнале содержит причину. Описание кодов состояния и причин см. в статье об устранении неполадок с сетевыми конечными точками HTTPS.
    • Вы хотите найти код ответа и причину ответа модели для запроса. Эти ModelStatusCode сведения содержатся в столбцах и ModelStatusReason столбцах.
    • Вы хотите узнать длительность запроса. Журналы предоставляют разбивку задержки. Эта разбивка показывает общую длительность, длительность запроса, длительность ответа и задержку, вызванную регулированием сети.
    • Вы хотите проверить количество последних запросов, которые завершаются успешно и завершаются сбоем. Эти сведения предоставляются в журналах.
  • AmlOnlineEndpointConsoleLog: этот журнал содержит инструкции, которые контейнеры записывают в качестве выходных данных в консоль. Этот журнал полезен в следующих случаях:

    • Не удается запустить контейнер. Журнал консоли может быть полезен для отладки.
    • Вы хотите отслеживать поведение контейнера и убедиться, что все запросы обрабатываются правильно.
    • Вы хотите трассировать запрос из точки входа сети в контейнер. Вы можете использовать запрос Log Analytics, который присоединяет идентификатор запроса с информацией из журналов AmlOnlineEndpointConsoleLog и AmlOnlineEndpointTrafficLog.
    • Например, необходимо выполнить анализ производительности, чтобы определить время, в течение которого модель занимает обработку каждого запроса.
  • 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

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

Внимание

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

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

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

  3. В окне параметра диагностики введите следующие сведения:

    • Рядом с именем параметра диагностики введите имя параметра.
    • В разделе "Журналы" выберите категории журналов, которые необходимо включить.
    • В разделе "Сведения о назначении" выберите "Отправить в рабочую область Log Analytics", а затем выберите подписку и рабочую область Log Analytics для использования.

    Снимок экрана: окно параметра диагностики. Выбраны все журналы и отправка в рабочую область Log Analytics. Отображается подписка и рабочая область.

  4. Выберите Сохранить.

    Внимание

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

Журналы запросов

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

  2. Перейдите на портал Azure. Чтобы открыть журналы, используйте один из следующих параметров:

    • Перейдите на страницу свойств для вашей веб-конечной точки. В разделе Мониторинг выберите Журналы.
    • Перейдите в рабочую область Log Analytics. Слева выберите журналы.
  3. Закройте окно концентратора запросов, которое открывается по умолчанию.

  4. В разделе "Другие" дважды щелкните AmlOnlineEndpointConsoleLog. Если вы не видите AmlOnlineEndpointConsoleLog, введите это значение в поле поиска.

    Снимок экрана: страница

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

    Снимок экрана: страница

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

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

  1. На странице "Журналы" выберите "Запросы".

  2. В поле поиска введите конечную точку Online.

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

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

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

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

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

Дополнительные сведения см. в обзоре Application Insights.

Интеграция с Application Insights можно включить при создании онлайн-развертывания в студии. На странице "Развертывание" в разделе "Application Insights" диагностика выберите "Включено".

Снимок экрана: страница развертывания студии, когда пользователь создает конечную точку в Сети. Выделен параметр диагностика Application Insights.

Если включить Application Insights, вы увидите графы мониторов активности высокого уровня для управляемой конечной точки в Сети. В студии перейдите на страницу конечной точки и перейдите на вкладку "Мониторинг ".

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