Supervisión de los puntos de conexión en línea
Azure Machine Learning usa la integración con Azure Monitor para realizar un seguimiento y supervisar las métricas y los registros de los puntos de conexión en línea. Puede ver métricas en gráficos, comparar métricas entre puntos de conexión e implementaciones, anclar métricas a paneles de Azure Portal, configurar alertas, tablas de registro de consultas e insertar registros en destinos admitidos. También puede usar Application Insights para analizar eventos de contenedores de usuario.
Métricas: en el caso de las métricas de nivel de punto de conexión, como la latencia de solicitud, las solicitudes por minuto, las nuevas conexiones por segundo y los bytes de red, puede explorar en profundidad para ver información detallada en el nivel de implementación o el nivel de estado. También puede explorar en profundidad las métricas de nivel de implementación, como el uso de CPU/GPU y el uso de memoria o disco en el nivel de instancia. En Monitor, puede realizar un seguimiento de estas métricas en gráficos y puede configurar paneles y alertas para realizar un análisis posterior.
Registros: puede enviar métricas a un área de trabajo de Log Analytics, donde puede usar la sintaxis de consulta de Kusto para consultar los registros. También puede enviar métricas a cuentas de Azure Storage o Azure Event Hubs para su posterior procesamiento. En el caso del tráfico, los registros de consola (contenedor) y los eventos relacionados con los puntos de conexión en línea, puede usar tablas de registro dedicadas. Las consultas de Kusto admiten funcionalidades de análisis complejas y la combinación de varias tablas.
Application Insights: los entornos mantenidos incluyen la integración con Application Insights. Puede activar o desactivar esta integración al crear una implementación en línea. Al activarlo, las métricas integradas y los registros se envían a Application Insights. Después, puede usar las características integradas de Application Insights para su posterior análisis. Algunos ejemplos de esas características incluyen métricas dinámicas, la búsqueda de transacciones, la vista de errores y la vista de rendimiento.
En este artículo verá cómo:
- Elija el método adecuado para ver y realizar un seguimiento de las métricas y los registros.
- Visualizar las métricas del punto de conexión en línea.
- Crear un panel para las métricas.
- Creación de una alerta de métrica.
- Visualizar las métricas del punto de conexión en línea.
- Uso de Application Insights para realizar un seguimiento de las métricas y los registros.
Requisitos previos
- Un punto de conexión en línea de Azure Machine Learning
- Al menos acceso de lector en el punto de conexión
Usar métricas
En Azure Portal, puede ver las páginas de métricas de los puntos de conexión e implementaciones en línea.
Acceso a métricas desde Estudio de Azure Machine Learning
Una manera fácil de acceder a las páginas de métricas es a través de vínculos que están disponibles en la interfaz de usuario de Estudio de Azure Machine Learning. Puede encontrar estos vínculos en la pestaña Detalles de la página de un punto de conexión. Estos vínculos conducen a la página de métricas de Azure Portal para el punto de conexión o la implementación.
Para acceder a las páginas de métricas a través de vínculos disponibles en Studio, siga estos pasos:
En Estudio de Azure Machine Learning, vaya al área de trabajo.
En Recursos, seleccione Puntos de conexión.
Seleccione el nombre de un punto de conexión.
En Atributos de punto de conexión, seleccione Ver métricas.
Se abre la página de métricas del punto de conexión en Azure Portal.
En Azure Machine Learning Studio, en una página de punto de conexión, vaya a la sección de una implementación y seleccione Ver métricas.
Se abre la página de métricas de la implementación en Azure Portal.
Acceso a métricas desde Azure Portal
Otra manera de ver la página de métricas de un punto de conexión o implementación es ir directamente a Azure Portal:
Vaya a Azure Portal.
Vaya al punto de conexión en línea o al recurso de implementación.
Los puntos de conexión e implementaciones en línea son recursos de Azure Resource Manager. Para encontrarlos, vaya a su grupo de recursos y busque los tipos de recursos de punto de conexión en línea de Machine Learning y la implementación en línea de Machine Learning.
En la página de recursos, en Supervisión, seleccione Métricas.
Métricas disponibles
Las métricas que ve dependen del recurso que seleccione. Las métricas de los puntos de conexión en línea y las implementaciones en línea tienen un ámbito diferente.
Métricas en el ámbito del punto de conexión
Para obtener información sobre las métricas disponibles en el ámbito del punto de conexión en línea, consulte Métricas admitidas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
Límite de ancho de banda
El ancho de banda se limita si se superan los límites de cuota para puntos de conexión en línea administrados. Para más información sobre los límites de los puntos de conexión en línea, consulte Puntos de conexión en línea y puntos de conexión por lotes de Azure Machine Learning en el artículo sobre cuotas y límites en Azure Machine Learning. Para determinar si las solicitudes están limitadas:
- Supervise la métrica Bytes de red.
- Compruebe los siguientes campos en los finalizadores de respuesta:
ms-azureml-bandwidth-request-delay-ms
yms-azureml-bandwidth-response-delay-ms
. Los valores de los campos son los retrasos, en milisegundos, del límite de ancho de banda.
Para obtener más información, consulte Problemas del límite de ancho de banda.
Métricas en el ámbito de implementación
Para obtener información sobre las métricas disponibles en el ámbito de implementación, consulte Métricas admitidas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
Creación de paneles y alertas
En Monitor, puede crear paneles y alertas basados en métricas.
Creación de paneles y visualización de consultas
Puede crear paneles personalizados y así visualizar métricas de múltiples fuentes en el portal de Azure, incluidas las métricas de su punto final en línea. Para más información sobre cómo crear paneles y visualizar consultas, consulte Creación y uso compartido de paneles de datos de Log Analytics y Creación de paneles de KPI personalizados mediante Application Insights.
Creación de alertas
También puede crear alertas personalizadas para recibir notificaciones sobre actualizaciones de estado importantes en el punto de conexión en línea:
En Azure Portal, vaya a una página de métricas y seleccione Nueva regla de alertas.
En la ventana Seleccionar una señal, seleccione la señal para la que desea crear una alerta y, a continuación, seleccione Aplicar.
En la página Crear una regla de alertas, escriba un umbral y edite cualquier otra configuración que desee ajustar. Para obtener más información sobre la configuración de las reglas de alertas, consulte Configuración de las condiciones de la regla de alertas. A continuación, seleccione Siguiente: Acciones.
En la ventana Seleccionar grupos de acciones, cree o seleccione un grupo de acciones para especificar lo que sucede cuando se desencadena la alerta. Para obtener más información, consulte Configuración de los detalles de la regla de alertas.
Seleccione Revisar y crear para terminar de crear la alerta.
Escalado automático basado en métricas
Puede configurar implementaciones para escalar automáticamente en función de las métricas. Para activar la característica de escalado automático, puede usar la interfaz de usuario o el código.
Las opciones de código son la CLI de Azure Machine Learning y el SDK de Azure Machine Learning para Python. Cuando se usa código, se configuran las condiciones para desencadenar el escalado automático proporcionando el nombre de la API de REST de métricas.
- Para conocer los nombres de las métricas de punto de conexión que se van a usar en el código, consulte los valores de la columna Nombre en la API de REST de la tabla en Métricas admitidas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
- Para conocer los nombres de las métricas de implementación que se van a usar en el código, consulte los valores de la columna Nombre en la API de REST de las tablas de Métricas admitidas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
Para más información, consulte Escalabilidad automática de puntos de conexión en línea en Azure Machine Learning.
Uso de registros
Hay tres registros que puede activar para los puntos de conexión en línea:
AmlOnlineEndpointTrafficLog: este registro de tráfico proporciona una manera de comprobar la información de las solicitudes al punto de conexión. Este registro es útil en los casos siguientes:
- Una respuesta de solicitud no es 200 y desea obtener más información. La columna
ResponseCodeReason
del registro muestra el motivo. Para obtener descripciones de los códigos de estado y los motivos, consulte códigos de estado HTTPS en el artículo sobre la solución de problemas de puntos de conexión en línea. - Quiere buscar el código de respuesta y el motivo de la respuesta del modelo para una solicitud. Las columnas
ModelStatusCode
yModelStatusReason
proporcionan esta información. - Quiere saber la duración de una solicitud. Los registros proporcionan un desglose de la latencia. Ese desglose muestra la duración total, la duración de la solicitud, la duración de la respuesta y el retraso causado por la limitación de red.
- Quiere comprobar el número de solicitudes recientes que se realizan correctamente y producen un error. Los registros proporcionan esta información.
- Una respuesta de solicitud no es 200 y desea obtener más información. La columna
AmlOnlineEndpointConsoleLog: este registro contiene instrucciones que los contenedores escriben como salida en la consola. Este registro es útil en los casos siguientes:
- No se puede iniciar un contenedor. El registro de consola puede ser útil para la depuración.
- Quiere supervisar el comportamiento del contenedor y asegurarse de que todas las solicitudes se controlan correctamente.
- Quiere realizar un seguimiento de una solicitud desde el punto de entrada de red de un punto de conexión en línea al contenedor. Puede usar una consulta de Log Analytics que une el identificador de solicitud con información de los registros AmlOnlineEndpointConsoleLog y AmlOnlineEndpointTrafficLog.
- Quiere ejecutar un análisis de rendimiento, por ejemplo, para determinar el tiempo que tarda el modelo en procesar cada solicitud.
AmlOnlineEndpointEventLog: este registro contiene información de eventos sobre el ciclo de vida del contenedor. Actualmente, el registro proporciona información sobre los siguientes tipos de eventos:
Nombre Message Retroceso Retroceso del reinicio del contenedor con errores "Pull" aplicado Imagen de contenedor "<IMAGE_NAME>" ya presente en la máquina Terminando El contenedor del servidor de inferencia no pudo terminar el sondeo de ejecución y se reiniciará Creado Se ha creado un contenedor imagen-capturador Creado Se ha creado un contenedor inferencia-servidor Creado Se ha creado un contenedor modelo-montaje LivenessProbeFailed Error de sondeo de ejecución: <FAILURE_CONTENT> ReadinessProbeFailed Error de sondeo de preparación: <FAILURE_CONTENT> Iniciado Se ha iniciado un contenedor imagen-capturador Iniciado Se ha iniciado un contenedor inferencia-servidor Iniciado Se ha iniciado un contenedor modelo-montaje Terminando Detención del contenedor inferencia-servidor Terminando Detención del contenedor modelo-montaje
Activación de los registros
Importante
El registro usa la característica Log Analytics de Monitor. Si actualmente no tiene un área de trabajo de Log Analytics, puede crear una siguiendo los pasos descritos en Creación de un área de trabajo.
En Azure Portal, vaya al grupo de recursos que contiene el punto de conexión y seleccione el punto de conexión.
En Supervisión, seleccione Configuración de diagnóstico y, luego, seleccione Agregar configuración de diagnóstico.
En la ventana Configuración de diagnóstico, escriba la siguiente información:
- Junto a Nombre de configuración de diagnóstico, escriba un nombre para la configuración.
- En Registros, seleccione las categorías de registro que desea activar.
- En Detalles de destino, seleccione Enviar al área de trabajo de Log Analytics y, a continuación, seleccione la suscripción y el área de trabajo de Log Analytics que se va a usar.
Seleccione Guardar.
Importante
La conexión al área de trabajo de Log Analytics puede tardar hasta una hora en estar disponible. Espere una hora antes de continuar con los pasos de la sección siguiente.
Registros de consultas
Envíe solicitudes de puntuación al punto de conexión para crear entradas en los registros.
Vaya a Azure Portal. Para abrir los registros, use una de las siguientes opciones:
- Vaya a la página de propiedades del punto de conexión en línea. En Supervisión, seleccione Registros.
- Vaya al área de trabajo de Log Analytics. A la izquierda, seleccione Registros.
Cierre la ventana Centro de consultas que se abre de forma predeterminada.
En Otros, haga doble clic en AmlOnlineEndpointConsoleLog. Si no ve AmlOnlineEndpointConsoleLog, escriba ese valor en el campo de búsqueda.
Selecciona Ejecutar.
Consultas de ejemplo
Las consultas de ejemplo están disponibles para su uso. Para ver las consultas, siga estos pasos:
En la página Registros, seleccione Consultas.
En el cuadro de búsqueda, escriba Punto de conexión en línea.
Detalles de la columna de registro
En las tablas siguientes se proporciona información detallada sobre los datos almacenados en cada registro:
AmlOnlineEndpointTrafficLog
Propiedad | Descripción |
---|---|
Método | Método que solicita el cliente. |
Ruta de acceso | Ruta de acceso que solicita el cliente. |
SubscriptionId | El identificador de suscripción de aprendizaje automático del punto de conexión en línea. |
AzureMLWorkspaceId | El identificador del área de trabajo de aprendizaje automático del punto de conexión en línea. |
AzureMLWorkspaceName | El nombre del área de trabajo de aprendizaje automático del punto de conexión en línea. |
EndpointName | El nombre del punto de conexión en línea. |
DeploymentName | El nombre de la implementación en línea. |
Protocolo | El protocolo de la solicitud. |
ResponseCode | Código de respuesta final que se devuelve al cliente. |
ResponseCodeReason | Motivo del código de respuesta final que se devuelve al cliente. |
ModelStatusCode | Código de estado de respuesta del modelo. |
ModelStatusReason | Motivo del estado de respuesta del modelo. |
RequestPayloadSize | Los bytes totales recibidos del cliente. |
ResponsePayloadSize | Los bytes totales enviados de vuelta al cliente. |
UserAgent | El encabezado usuario-agente de la solicitud, incluidos los comentarios, pero truncados a un máximo de 70 caracteres. |
XRequestId | Identificador de solicitud que Azure Machine Learning genera para el seguimiento interno. |
XMSClientRequestId | Identificador de seguimiento que genera el cliente. |
TotalDurationMs | La duración en milisegundos desde la hora de inicio de la solicitud hasta la hora en que se devuelve el último byte de respuesta al cliente. Si el cliente se desconecta, la duración se toma de la hora de inicio a la hora de desconexión del cliente. |
RequestDurationMs | La duración en milisegundos desde la hora de inicio de la solicitud hasta la hora en que se recibe el último byte de la solicitud del cliente. |
ResponseDurationMs | La duración en milisegundos desde la hora de inicio de la solicitud hasta la hora en que se lee el primer byte de respuesta del modelo. |
RequestThrottlingDelayMs | Retraso en milisegundos en la transferencia de datos de solicitud debido a la limitación de red. |
ResponseThrottlingDelayMs | Retraso en milisegundos en la transferencia de datos de respuesta debido a la limitación de red. |
AmlOnlineEndpointConsoleLog
Propiedad | Descripción |
---|---|
TimeGenerated | Marca de tiempo UTC de la hora en la que se genera el registro |
OperationName | La operación asociada al registro de registro |
InstanceId | El identificador de la instancia que genera el registro de registro |
DeploymentName | El nombre de la implementación asociada al registro |
ContainerName | El nombre del contenedor donde se generó el registro |
Mensaje | El contenido del registro |
AmlOnlineEndpointEventLog
Propiedad | Descripción |
---|---|
TimeGenerated | Marca de tiempo UTC de la hora en la que se genera el registro |
OperationName | La operación asociada al registro de registro |
InstanceId | El identificador de la instancia que genera el registro de registro |
DeploymentName | El nombre de la implementación asociada al registro |
Nombre | El nombre del evento |
Mensaje | El contenido del evento |
Uso de Application Insights
Los entornos mantenidos incluyen la integración con Application Insights. A través de esta integración, las métricas integradas y los registros se envían a Application Insights. Como resultado, puede usar características integradas de Application Insights para un análisis posterior. Algunos ejemplos de esas características incluyen métricas dinámicas, la búsqueda de transacciones, la vista de errores y la vista de rendimiento.
Para más información, consulte Introducción sobre Application Insights.
Puede activar la integración con Application Insights al crear una implementación en línea en Studio. En la página Implementación, en Diagnósticos de Application Insights, seleccione Habilitado.
Al activar Application Insights, puede ver gráficos de supervisión de actividad de alto nivel para un punto de conexión en línea administrado. En Studio, vaya a la página del punto de conexión y seleccione la pestaña Supervisión.