Мониторинг подключенных конечных точек
Машинное обучение 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 конечной точки или развертывания.
Чтобы получить доступ к страницам метрик с помощью ссылок, доступных в студии, сделайте следующее:
В Студия машинного обучения Azure перейдите в рабочую область.
В разделе "Ресурсы" выберите "Конечные точки".
Выберите имя конечной точки.
В разделе атрибуты конечной точки выберите "Просмотр метрик".
Откроется страница метрик конечной точки в портал Azure.
В Студия машинного обучения Azure на странице конечной точки перейдите в раздел развертывания, а затем выберите "Просмотреть метрики".
Откроется страница метрик развертывания в портал Azure.
Доступ к метрикам из портал Azure
Другой способ просмотра страницы метрик для конечной точки или развертывания — перейти непосредственно к портал Azure:
Переход на портал Azure.
Перейдите к виртуальной конечной точке или ресурсу развертывания.
Конечные точки и развертывания в Сети — это ресурсы Azure Resource Manager. Их можно найти, перейдя в группу ресурсов, а затем найдите типы ресурсов, Машинное обучение конечную точку в Интернете и Машинное обучение онлайн-развертывание.
На странице ресурсов в разделе "Мониторинг" выберите "Метрики".
Доступные метрики
Отображаемые метрики зависят от выбранного ресурса. Метрики для сетевых конечных точек и сетевых развертываний различаются.
Метрики в области конечной точки
Сведения о метриках, доступных в области веб-конечной точки, см. в статье "Поддерживаемые метрики для 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.
Создание оповещений
Вы также можете создавать пользовательские оповещения, чтобы получать уведомления о важных обновлениях состояния для конечной точки в Сети:
В портал Azure перейдите на страницу метрик и выберите новое правило генерации оповещений.
В окне выбора сигнала выберите сигнал, для которого нужно создать оповещение, а затем нажмите кнопку "Применить".
На странице "Создание правила генерации оповещений" введите пороговое значение и измените другие параметры, которые требуется настроить. Дополнительные сведения о параметрах правила генерации оповещений см. в разделе "Настройка условий правила генерации оповещений". Затем нажмите кнопку "Далее".
В окне "Выбор групп действий" создайте или выберите группу действий, чтобы указать, что происходит при активации оповещения. Дополнительные сведения см. в разделе "Настройка сведений о правиле генерации оповещений".
Нажмите кнопку "Просмотр и создание", чтобы завершить создание оповещения.
Автоматическое масштабирование на основе метрик
Вы можете настроить развертывания для автоматического масштабирования на основе метрик. Чтобы включить функцию автомасштабирования, можно использовать пользовательский интерфейс или код.
Параметры кода — это интерфейс командной строки Машинное обучение Azure и пакет SDK Машинное обучение Azure для Python. При использовании кода необходимо настроить условия автоматического масштабирования, указав имя REST API метрик.
- Имена метрик конечных точек, используемых в коде, см. в столбце Name в столбце REST API в таблице поддерживаемых метрик Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
- Имена метрик развертывания, используемых в коде, см. в столбце "Имя" в столбце REST API в таблицах поддерживаемых метрик microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
Дополнительные сведения см. в разделе "Автомасштабирование сетевых конечных точек" в Машинное обучение Azure.
Использование журналов
Существует три журнала, которые можно включить для сетевых конечных точек:
AmlOnlineEndpointTrafficLog: этот журнал трафика предоставляет способ проверки сведений о запросах к конечной точке. Этот журнал полезен в следующих случаях:
- Ответ на запрос не является 200, и требуется дополнительная информация. Столбец
ResponseCodeReason
в журнале содержит причину. Описание кодов состояния и причин см. в статье об устранении неполадок с сетевыми конечными точками HTTPS. - Вы хотите найти код ответа и причину ответа модели для запроса. Эти
ModelStatusCode
сведения содержатся в столбцах иModelStatusReason
столбцах. - Вы хотите узнать длительность запроса. Журналы предоставляют разбивку задержки. Эта разбивка показывает общую длительность, длительность запроса, длительность ответа и задержку, вызванную регулированием сети.
- Вы хотите проверить количество последних запросов, которые завершаются успешно и завершаются сбоем. Эти сведения предоставляются в журналах.
- Ответ на запрос не является 200, и требуется дополнительная информация. Столбец
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, ее можно создать, выполнив действия, описанные в разделе "Создание рабочей области".
В портал Azure перейдите в группу ресурсов, содержащую конечную точку, а затем выберите конечную точку.
В разделе "Мониторинг" выберите параметры диагностики и нажмите кнопку "Добавить параметр диагностики".
В окне параметра диагностики введите следующие сведения:
- Рядом с именем параметра диагностики введите имя параметра.
- В разделе "Журналы" выберите категории журналов, которые необходимо включить.
- В разделе "Сведения о назначении" выберите "Отправить в рабочую область Log Analytics", а затем выберите подписку и рабочую область Log Analytics для использования.
Выберите Сохранить.
Внимание
Подключение к рабочей области Log Analytics может занять до часа. Подождите час, прежде чем продолжить действия в следующем разделе.
Журналы запросов
Отправьте запросы оценки в конечную точку, чтобы создать записи в журналах.
Перейдите на портал Azure. Чтобы открыть журналы, используйте один из следующих параметров:
- Перейдите на страницу свойств для вашей веб-конечной точки. В разделе Мониторинг выберите Журналы.
- Перейдите в рабочую область Log Analytics. Слева выберите журналы.
Закройте окно концентратора запросов, которое открывается по умолчанию.
В разделе "Другие" дважды щелкните AmlOnlineEndpointConsoleLog. Если вы не видите AmlOnlineEndpointConsoleLog, введите это значение в поле поиска.
Выберите Выполнить.
Примеры запросов
Примеры запросов доступны для использования. Чтобы просмотреть запросы, выполните следующие действия.
Сведения о столбцах журнала
В следующих таблицах приведены подробные сведения о данных, хранящихся в каждом журнале:
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, вы увидите графы мониторов активности высокого уровня для управляемой конечной точки в Сети. В студии перейдите на страницу конечной точки и перейдите на вкладку "Мониторинг ".