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 entre puntos de conexión e implementaciones, anclar a paneles de Azure Portal, configurar alertas, consultar desde tablas de registro 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 los detalles en el nivel de implementación o el nivel de estado. Las métricas de nivel de implementación, como el uso de CPU/GPU y el uso de memoria o disco, también se pueden explorar en profundidad hasta el nivel de instancia. Azure Monitor permite hacer un seguimiento de estas métricas en gráficos y configurar paneles y alertas para su posterior análisis.
Registros: envíe métricas al área de trabajo de Log Analytics, donde puede consultar los registros utilizando la sintaxis de consulta de Kusto. También puede enviar métricas a cuentas de Azure Storage y/o Event Hubs para su posterior procesamiento. Además, puede utilizar tablas de registro dedicadas para los eventos relacionados con el punto final en línea, el tráfico y los registros de la consola (contenedor). La consulta de Kusto permite un análisis complejo que combina varias tablas.
Application insights: Los entornos curados incluyen integración con Application Insights, y puede activar o desactivar esta integración al crear una implantación en línea. Las métricas y los registros integrados se envían a Application Insights, y puede utilizar las funciones integradas de Application Insights (como Métricas en tiempo real, Búsqueda de transacciones, Fallos y Rendimiento) para realizar análisis adicionales.
En este artículo, aprenderá a:
- 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
- Implementar un punto de conexión en línea de Azure Machine Learning.
- Debe disponer al menos de acceso de lectura al punto de conexión.
Métricas
Puede ver las páginas de métricas de los puntos de conexión en línea o las implementaciones en Azure Portal. Una manera fácil de acceder a estas páginas de métricas es a través de vínculos disponibles en la interfaz de usuario de Estudio de Azure Machine Learning, específicamente en la pestaña Detalles de la página de un punto de conexión. Si sigue estos vínculos, se le llevará a la página de métricas exactas de Azure Portal para el punto de conexión o la implementación. Como alternativa, también puede ir a Azure Portal para buscar la página de métricas del 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 el estudio:
Vaya a Azure Machine Learning Studio.
En la barra de navegación izquierda, seleccione la página Endpoints (Puntos de conexión).
Seleccione un punto de conexión haciendo clic en su nombre.
Seleccione Ver métricas en la sección Atributos del punto de conexión para abrir la página de métricas del punto de conexión en Azure Portal.
Seleccione Ver métricas en la sección de cada implementación disponible para abrir la página de métricas de la implementación en Azure Portal.
Para acceder a las métricas directamente desde Azure Portal:
Inicie sesión en Azure Portal.
Vaya al punto de conexión en línea o al recurso de implementación.
Las implementaciones y los puntos de conexión en línea son recursos de Azure Resource Manager (ARM) que se pueden encontrar en su propio grupo de recursos. Busque los tipos de recursos punto de conexión en línea de Machine Learning e implementación en línea de Machine Learning.
En la columna izquierda, seleccione Métricas.
Métricas disponibles
En función del recurso que seleccione, las métricas que vea serán diferentes. Las métricas tienen un ámbito diferente para los puntos de conexión en línea y las implementaciones en línea.
Métricas en el ámbito del punto de conexión
Category | Métrica | Nombre en la API de REST | Unidad | Agregación | Dimensiones | Intervalos de agregación | Exportación de DS |
---|---|---|---|---|---|---|---|
Tráfico | Conexiones activas El número total de conexiones TCP simultáneas activas de los clientes. |
ConnectionsActive |
Count | Average | <none> | PT1M | No |
Tráfico | Errores de recopilación de datos por minuto Número de eventos de recopilación de datos eliminados por minuto. |
DataCollectionErrorsPerMinute |
Count | Mínimo, Máximo, Promedio | deployment , reason , type |
PT1M | No |
Tráfico | Eventos por minuto de la colección de datos Número de eventos de recopilación de datos procesados por minuto. |
DataCollectionEventsPerMinute |
Count | Mínimo, Máximo, Promedio | deployment , type |
PT1M | No |
Tráfico | Bytes de red Bytes por segundo enviados al punto de conexión. |
NetworkBytes |
BytesPerSecond | Media | <none> | PT1M | No |
Tráfico | Nuevas conexiones por segundo Número promedio de nuevas conexiones TCP por segundo establecidas a partir de clientes. |
NewConnectionsPerSecond |
CountPerSecond | Average | <none> | PT1M | No |
Tráfico | Latencia de las solicitudes Intervalo de tiempo total que se tarda de media en responder una solicitud (en milisegundos) |
RequestLatency |
Milisegundos | Average | deployment |
PT1M | Sí |
Tráfico | Latencia de las solicitudes P50 Latencia media de las solicitudes P50, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P50 |
Milisegundos | Average | deployment |
PT1M | Sí |
Tráfico | Latencia de las solicitudes P90 Latencia media de las solicitudes P90, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P90 |
Milisegundos | Average | deployment |
PT1M | Sí |
Tráfico | Latencia de las solicitudes P95 Latencia media de las solicitudes P95, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P95 |
Milisegundos | Average | deployment |
PT1M | Sí |
Tráfico | Latencia de las solicitudes P99 Latencia media de las solicitudes P99, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P99 |
Milisegundos | Average | deployment |
PT1M | Sí |
Tráfico | Solicitudes por minuto Número de solicitudes enviadas al punto de conexión en línea en un minuto |
RequestsPerMinute |
Count | Average | deployment , statusCode , statusCodeClass , modelStatusCode |
PT1M | No |
Límite de ancho de banda
El ancho de banda se limitará si se superan los límites de cuota para los puntos de conexión en línea administrados. Para obtener más información sobre los límites, consulte el artículo sobre los límites de para los puntos de conexión en línea. Para determinar si las solicitudes están limitadas:
- Supervise la métrica "Bytes de red".
- Los encabezados de respuesta tendrán los trazos:
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
Category | Métrica | Nombre en la API de REST | Unidad | Agregación | Dimensiones | Intervalos de agregación | Exportación de DS |
---|---|---|---|---|---|---|---|
Resource | Porcentaje de uso de memoria de CPU Porcentaje de uso de memoria en una instancia. El uso se notifica en intervalos de un minuto. |
CpuMemoryUtilizationPercentage |
Porcentaje | Mínimo, Máximo, Promedio | instanceId |
PT1M | Sí |
Resource | Porcentaje de uso de la CPU Porcentaje de uso de CPU en una instancia. El uso se notifica en intervalos de un minuto. |
CpuUtilizationPercentage |
Porcentaje | Mínimo, Máximo, Promedio | instanceId |
PT1M | Sí |
Resource | Errores de recopilación de datos por minuto Número de eventos de recopilación de datos eliminados por minuto. |
DataCollectionErrorsPerMinute |
Count | Mínimo, Máximo, Promedio | instanceId , reason , type |
PT1M | No |
Resource | Eventos por minuto de la colección de datos Número de eventos de recopilación de datos procesados por minuto. |
DataCollectionEventsPerMinute |
Count | Mínimo, Máximo, Promedio | instanceId , type |
PT1M | No |
Resource | Capacidad de implementación Número de instancias de la implementación. |
DeploymentCapacity |
Count | Mínimo, Máximo, Promedio | instanceId , State |
PT1M | No |
Resource | Utilización de disco Porcentaje de uso de disco en una instancia. El uso se notifica en intervalos de un minuto. |
DiskUtilization |
Porcentaje | Mínimo, Máximo, Promedio | instanceId , disk |
PT1M | Sí |
Resource | Energía de GPU en julios Energía en intervalos en Joules en un nodo de GPU. La energía se notifica en intervalos de un minuto. |
GpuEnergyJoules |
Count | Mínimo, Máximo, Promedio | instanceId |
PT1M | No |
Resource | Porcentaje de uso de memoria de GPU Porcentaje de uso de memoria de GPU en una instancia. El uso se notifica en intervalos de un minuto. |
GpuMemoryUtilizationPercentage |
Porcentaje | Mínimo, Máximo, Promedio | instanceId |
PT1M | Sí |
Resource | Porcentaje de uso de GPU Porcentaje de uso de GPU en una instancia. El uso se notifica en intervalos de un minuto. |
GpuUtilizationPercentage |
Porcentaje | Mínimo, Máximo, Promedio | instanceId |
PT1M | Sí |
Tráfico | Latencia de las solicitudes P50 Latencia media de las solicitudes P50, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P50 |
Milisegundos | Average | <none> | PT1M | Sí |
Tráfico | Latencia de las solicitudes P90 Latencia media de las solicitudes P90, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P90 |
Milisegundos | Average | <none> | PT1M | Sí |
Tráfico | Latencia de las solicitudes P95 Latencia media de las solicitudes P95, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P95 |
Milisegundos | Average | <none> | PT1M | Sí |
Tráfico | Latencia de las solicitudes P99 Latencia media de las solicitudes P99, a partir de todos los valores de latencia de las solicitudes recopilados durante el período de tiempo seleccionado |
RequestLatency_P99 |
Milisegundos | Average | <none> | PT1M | Sí |
Tráfico | Solicitudes por minuto Número de solicitudes enviadas a la implementación en línea en un minuto |
RequestsPerMinute |
Count | Average | envoy_response_code |
PT1M | No |
Creación de paneles y alertas
Azure Monitor permite crear paneles y alertas, en función de las métricas.
Creación de paneles y visualización de consultas
Puede crear paneles personalizados y visualizar métricas de múltiples fuentes en el portal de Azure, incluidas las métricas de su punto final en línea. Para obtener más información sobre cómo crear paneles y visualizar consultas, consulte Paneles mediante datos de registro y Paneles mediante datos de aplicación.
Creación de alertas
También puede crear alertas personalizadas para que le envíen notificaciones sobre actualizaciones de estado importantes en el punto de conexión en línea:
En la parte superior de la página de métricas, seleccione Nueva regla de alertas.
Seleccione un nombre de condición para especificar cuándo se debe desencadenar la alerta.
Seleccione Adición de grupos de acciones>Creación de grupos de acciones para especificar lo que debería ocurrir cuando se desencadene la alerta.
Elija Crear regla de alertas para terminar de crear la alerta.
Para obtener más información, vea Alertas de Azure Monitor.
Habilitación del escalado automático basado en métricas
Puede habilitar la escalabilidad automática de implementaciones mediante métricas mediante la interfaz de usuario o el código. Al usar código (CLI o SDK), puede usar identificadores de métricas enumerados en la tabla de métricas disponibles en condición para desencadenar el escalado automático. Para obtener más información, consulte Escalado automático de puntos de conexión en línea.
Registros
Hay tres registros que se pueden habilitar para los puntos de conexión en línea:
AmlOnlineEndpointTrafficLog: puede optar por habilitar los registros de tráfico si quiere comprobar la información de la solicitud. A continuación se muestran algunos casos:
Si la respuesta no es 200, compruebe el valor de la columna "ResponseCodeReason" para ver qué ha sucedido. Compruebe también el motivo en la sección "Códigos de estado HTTPS" del artículo Solución de problemas de puntos de conexión en línea.
Puede comprobar el código de respuesta y el motivo de respuesta del modelo en las columnas "ModelStatusCode" y "ModelStatusReason".
Quiere comprobar la duración de la solicitud, como la duración total, la duración de la solicitud o la respuesta y el retraso causado por la limitación de red. Puede comprobarlo en los registros para ver la latencia de desglose.
Si quiere comprobar el número de solicitudes o solicitudes con errores recientes. También puede habilitar los registros.
AmlOnlineEndpointConsoleLog: contiene registros que los contenedores generan en la consola. A continuación se muestran algunos casos:
Si el contenedor no se inicia, el registro de la consola puede ser útil para la depuración.
Supervise el comportamiento del contenedor y asegúrese de que todas las solicitudes se controlan correctamente.
Escriba identificadores de solicitud en el registro de la consola. Al unir el identificador de solicitud, AmlOnlineEndpointConsoleLog y AmlOnlineEndpointTrafficLog en el área de trabajo de Log Analytics, puede realizar un seguimiento de una solicitud desde el punto de entrada de red de un punto de conexión en línea al contenedor.
También puede usar este registro para el análisis de rendimiento al determinar el tiempo que el modelo necesita para procesar cada solicitud.
AmlOnlineEndpointEventLog: contiene información de eventos sobre el ciclo de vida del contenedor. Actualmente, proporcionamos 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
Habilitación o deshabilitación de registros
Importante
El registro usa Azure Log Analytics. Si actualmente no tiene un área de trabajo de Log Analytics, puede crear una mediante los pasos descritos en Creación de un área de trabajo de Log Analytics en Azure Portal.
En Azure Portal, vaya al grupo de recursos que contiene el punto de conexión y seleccione el punto de conexión.
En la sección Supervisión de la izquierda de la página, seleccione Configuración de diagnóstico y, a continuación, Agregar configuración.
Seleccione las categorías de registro que quiere habilitar, seleccione Enviar al área de trabajo de Log Analytics y, a continuación, seleccione el área de trabajo de Log Analytics que se va a usar. Por último, escriba un Nombre de configuración de diagnóstico y seleccione Guardar.
Importante
La conexión al área de trabajo de Log Analytics puede tardar hasta una hora en habilitarse. Espere una hora antes de continuar con los pasos siguientes.
Envíe solicitudes de puntuación al punto de conexión. Esta actividad debe crear entradas en los registros.
En las propiedades del punto de conexión en línea o en el área de trabajo de Log Analytics, seleccione Registros en la parte izquierda de la pantalla.
Cierre el cuadro de diálogo Consultas que se abre automáticamente y, a continuación, haga doble clic en AmlOnlineEndpointConsoleLog. Si no lo ve, use el campo Buscar.
Seleccione Run (Ejecutar).
Consultas de ejemplo
Puede encontrar consultas de ejemplo en la pestaña Consultas durante la visualización de registros. Busque Punto de conexión en línea para encontrar consultas de ejemplo.
Detalles de la columna de registro
En las tablas siguientes se proporcionan detalles sobre los datos almacenados en cada registro:
AmlOnlineEndpointTrafficLog
Propiedad | Descripción |
---|---|
Método | El método solicitado del cliente. |
Ruta de acceso | La ruta de acceso solicitada del 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 | El código de respuesta final devuelto al cliente. |
ResponseCodeReason | El motivo del código de respuesta final devuelto al cliente. |
ModelStatusCode | El código de estado de respuesta del modelo. |
ModelStatusReason | El 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 | El identificador de solicitud generado por Azure Machine Learning para el seguimiento interno. |
XMSClientRequestId | El identificador de seguimiento generado por el cliente. |
TotalDurationMs | La duración en milisegundos desde la hora de inicio de la solicitud hasta el último byte de respuesta enviado de vuelta al cliente. Si el cliente se desconecta, mide 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 el último byte de la solicitud recibida del cliente. |
ResponseDurationMs | La duración en milisegundos desde la hora de inicio de la solicitud hasta la primera lectura de bytes de respuesta del modelo. |
RequestThrottlingDelayMs | El retraso en milisegundos en la transferencia de datos de solicitud debido a la limitación de red. |
ResponseThrottlingDelayMs | El 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 cuando se generó el registro. |
OperationName | Operación asociada al registro. |
InstanceId | El identificador de la instancia que generó este registro de registro. |
DeploymentName | El nombre de la implementación asociada al registro. |
ContainerName | El nombre del contenedor donde se generó el registro. |
Message | El contenido del registro. |
AmlOnlineEndpointEventLog
Propiedad | Descripción |
---|---|
TimeGenerated | Marca de tiempo (UTC) de cuando se generó el registro. |
OperationName | Operación asociada al registro. |
InstanceId | El identificador de la instancia que generó este registro de registro. |
DeploymentName | El nombre de la implementación asociada al registro. |
Nombre | Nombre del evento. |
Message | El contenido del evento. |
Uso de Application Insights
Los entornos curados incluyen integración con Application Insights, y puede activar o desactivar esta integración al crear una implantación en línea. Las métricas y los registros integrados se envían a Application Insights, y puede utilizar las funciones integradas de Application Insights (como Métricas en tiempo real, Búsqueda de transacciones, Fallos y Rendimiento) para realizar análisis adicionales.
Consulte Introducción a Application Insights para obtener más información.
En Studio, puede usar la pestaña Supervisar en la página de un punto de conexión en línea para ver gráficos de supervisión de actividad de alto nivel para el punto de conexión en línea administrado. Para usar la pestaña de supervisión, debe seleccionar Habilitar la recopilación de datos y el diagnóstico de Application Insights al crear el punto de conexión.
Contenido relacionado
- Aprenda a ver los costos del punto de conexión implementado.
- Conozca más información sobre el explorador de métricas.