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:

  1. Vaya a Azure Machine Learning Studio.

  2. En la barra de navegación izquierda, seleccione la página Endpoints (Puntos de conexión).

  3. Seleccione un punto de conexión haciendo clic en su nombre.

  4. 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.

  5. 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.

    Captura de pantalla que muestra cómo acceder a las métricas de un punto de conexión e implementación desde la interfaz de usuario de estudio.

Para acceder a las métricas directamente desde Azure Portal:

  1. Inicie sesión en Azure Portal.

  2. 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.

  3. 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
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
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
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
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
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 y ms-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
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
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
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
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
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
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
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
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
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:

  1. En la parte superior de la página de métricas, seleccione Nueva regla de alertas.

    Captura de pantalla que muestra el botón

  2. Seleccione un nombre de condición para especificar cuándo se debe desencadenar la alerta.

    Captura de pantalla que muestra el botón

  3. 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.

  4. 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.

  1. En Azure Portal, vaya al grupo de recursos que contiene el punto de conexión y seleccione el punto de conexión.

  2. 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.

  3. 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.

    Captura de pantalla del cuadro de diálogo de configuración de diagnóstico.

    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.

  4. Envíe solicitudes de puntuación al punto de conexión. Esta actividad debe crear entradas en los registros.

  5. 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.

  6. 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.

    Captura de pantalla que muestra las consultas de registro.

  7. Seleccione Run (Ejecutar).

    Capturas de pantalla de los resultados tras ejecutar una consulta.

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.

Captura de pantalla de las 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.

Captura de pantalla de la supervisión de métricas en el nivel de punto de conexión en el estudio.