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.

    A screenshot showing how to access the metrics of an endpoint and deployment from the studio UI.

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

  • Latencia de las solicitudes
  • Latencia de solicitudes P50 (la latencia de las solicitudes se encuentra en el percentil 50)
  • Latencia de solicitudes P90 (la latencia de las solicitudes se encuentra en el percentil 90)
  • Latencia de solicitudes P95 (la latencia de las solicitudes se encuentra en el percentil 95)
  • Solicitudes por minuto
  • Nuevas conexiones por segundo
  • Recuento de conexiones activas
  • Bytes de red

Se divide en las dimensiones siguientes:

  • Implementación
  • Código de estado
  • Clase de código de estado

Por ejemplo, puede dividir a lo largo de la dimensión de implementación para comparar la latencia de solicitud de diferentes implementaciones en un punto de conexión.

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

  • Porcentaje de uso de la CPU
  • Capacidad de implementación (el número de instancias del tipo de instancia solicitado)
  • Utilización de disco
  • Uso de memoria de GPU (solo aplicable a instancias de GPU)
  • Uso de GPU (solo aplicable a instancias de GPU)
  • Porcentaje de uso de la memoria

Se divide en la dimensión siguiente:

  • Identificador de instancia

Por ejemplo, puede comparar el uso de CPU o memoria entre instancias de diferencia para una implementación en línea.

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.

    Screenshot showing 'New alert rule' button surrounded by a red box.

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

    Screenshot showing 'Configure signal logic' button surrounded by a red box.

  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.

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.

    Screenshot of the diagnostic settings dialog.

    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.

    Screenshot showing the log queries.

  7. Seleccione Ejecutar.

    Screenshots of the results after running a query.

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.

Screenshot of the example queries.

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.

A screenshot of monitoring endpoint-level metrics in the studio.