Analyser les points de terminaison en ligne

Azure Machine Learning utilise l’intégration à Azure Monitor pour suivre et surveiller les métriques et les journaux pour les points de terminaison en ligne. Vous pouvez afficher les métriques dans des graphiques, comparer les points de terminaison et les déploiements, épingler aux tableaux de bord du Portail Azure, configurer des alertes, interroger à partir de tables de journaux et envoyer des journaux à des cibles prises en charge. Vous pouvez également utiliser Application Insights pour analyser les événements des conteneurs utilisateur.

  • Métriques : pour les métriques au niveau du point de terminaison telles que la latence des demandes, les demandes par minute, les nouvelles connexions par seconde et les octets réseau, vous pouvez explorer pour afficher des détails au niveau du déploiement ou de l’état. Les métriques au niveau du déploiement, telles que l’utilisation du processeur/GPU et l’utilisation de la mémoire ou du disque, peuvent également être extraites jusqu’au niveau de l’instance. Azure Monitor permet le suivi de ces métriques dans des graphiques et la configuration de tableaux de bord et d’alertes pour une analyse plus approfondie.

  • Journaux : vous pouvez envoyer des métriques à l’espace de travail Log Analytics, où vous pouvez interroger les journaux à l’aide de la syntaxe de requête Kusto. Vous pouvez également envoyer des métriques aux comptes de Stockage Azure et/ou à Event Hubs pour un traitement plus approfondi. Vous pouvez aussi utiliser des tables de journal dédiées pour les événements liés aux points de terminaison en ligne, le trafic et les journaux (de conteneur) de la console. Une requête Kusto permet une analyse complexe et la jointure de plusieurs tables.

  • Application Insights : les environnements organisés incluent l’intégration d’Application Insights, que vous pouvez activer ou désactiver lorsque vous créez un déploiement en ligne. Les métriques et journaux intégrés sont envoyés à Application Insights, dont vous pouvez utiliser les fonctionnalités intégrées (notamment Métriques en direct, Recherche de transactions, Échecs et Performances) pour une analyse plus approfondie.

Dans cet article, vous apprendrez comment :

  • Choisir la méthode appropriée pour afficher et suivre les métriques et les journaux
  • Voir les métriques de votre point de terminaison en ligne
  • Créer un tableau de bord pour vos métriques
  • Créer une alerte de métrique
  • Afficher les métriques de votre point de terminaison en ligne
  • Utiliser Application Insights pour suivre les métriques et les journaux

Prérequis

  • Déployez un point de terminaison en ligne Azure Machine Learning.
  • Vous devez disposer au moins d’un accès en lecture sur le point de terminaison.

Mesures

Vous pouvez afficher des pages de métriques pour les points de terminaison ou les déploiements en ligne dans le Portail Azure. Un moyen simple d’accéder à ces pages de métriques consiste à utiliser des liens disponibles dans l’interface utilisateur Azure Machine Learning studio, en particulier dans l’onglet Détails de la page d’un point de terminaison. En suivant ces liens, vous accédez à la page des métriques exactes dans le Portail Azure pour le point de terminaison ou le déploiement. Vous pouvez également accéder à la Portail Azure pour rechercher la page des métriques pour le point de terminaison ou le déploiement.

Pour accéder aux pages de métriques via des liens disponibles dans le studio :

  1. Accédez au studio Azure Machine Learning.

  2. Dans la barre de navigation gauche, sélectionnez la page Points de terminaison.

  3. Sélectionnez un point de terminaison en cliquant sur son nom.

  4. Sélectionnez Afficher les métriques dans la section Attributs du point de terminaison pour ouvrir la page des métriques du point de terminaison dans le Portail Azure.

  5. Sélectionnez Afficher les métriques dans la section pour chaque déploiement disponible pour ouvrir la page des métriques du déploiement dans le Portail Azure.

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

Pour accéder aux métriques directement à partir du Portail Azure :

  1. Connectez-vous au portail Azure.

  2. Accédez à la ressource de déploiement ou de point de terminaison en ligne.

    Les déploiements et points de terminaison en ligne sont des ressources ARM (Azure Resource Manager) que vous pouvez trouver en accédant à leur groupe de ressources propriétaire. Recherchez les types de ressource point de terminaison en ligne Machine Learning et déploiement en ligne Machine Learning.

  3. Dans la colonne de gauche, sélectionnez Métriques.

Métriques disponibles

Les métriques affichées varient en fonction de la ressource que vous sélectionnez. L’étendue des métriques des points de terminaison en ligne est différente de celle des déploiements en ligne.

Métriques dans l’étendue des points de terminaison

  • Latence des demandes
  • Latence des demandes P50 (latence des demandes au 50e centile)
  • Latence des demandes P90 (latence des demandes au 90e centile)
  • Latence des demandes P95 (latence des demandes au 95e centile)
  • Requêtes par minute
  • Nouvelles connexions par seconde
  • Nombre de connexions actives
  • Octets réseau

Division dans les dimensions suivantes :

  • Déploiement
  • Code d’état
  • Classe de code d’état

Par exemple, vous pouvez fractionner la dimension de déploiement pour comparer la latence des demandes de différents déploiements sous un point de terminaison.

Limitation de bande passante

La bande passante est limitée si les limites de quota sont dépassées pour les points de terminaison en ligne managés. Pour plus d’informations sur les limites, consultez l’article sur les limites pour les points de terminaison en ligne. Pour déterminer si les demandes sont limitées :

  • Surveiller la métrique « Octets réseau »
  • Les codes de fin comporteront les champs suivants : ms-azureml-bandwidth-request-delay-ms et ms-azureml-bandwidth-response-delay-ms. Les valeurs des champs sont les retards, en millisecondes, de la limitation de bande passante. Pour plus d’informations, consultez Problèmes de limite de bande passante.

Métriques dans l’étendue du déploiement

  • Pourcentage d’utilisation de l’UC
  • Capacité de déploiement (nombre d’instances du type d’instance demandé)
  • Utilisation du disque
  • Utilisation de la mémoire du GPU (applicable uniquement aux instances de GPU)
  • Utilisation du GPU (applicable uniquement aux instances de GPU)
  • Pourcentage d’utilisation de la mémoire

Division sur la dimension suivante :

  • ID de l’instance

Pour instance, vous pouvez comparer l’utilisation du processeur et/ou de la mémoire entre différentes instances pour un déploiement en ligne.

Créer des tableaux de bord et des alertes

Azure Monitor vous permet de créer des tableaux de bord et des alertes, basés sur des métriques.

Créer des tableaux de bord et visualiser des requêtes

Vous pouvez créer des tableaux de bord personnalisés pour visualiser les métriques de plusieurs sources sur le Portail Azure, notamment les métriques de votre point de terminaison en ligne. Pour plus d’informations sur la création de tableaux de bord et la visualisation des requêtes, consultez Tableaux de bord à l’aide des données de journal et Tableaux de bord à l’aide des données d’application.

Créez des alertes

Vous pouvez aussi créer des alertes personnalisées pour être notifié des mises à jour importantes de l’état de votre point de terminaison en ligne :

  1. En haut à droite de la page de métriques, sélectionnez Nouvelle règle d’alerte.

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

  2. Sélectionnez un nom de condition pour indiquer à quel moment l’alerte doit être déclenchée.

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

  3. Sélectionnez Ajouter des groupes d’actions>Créer des groupes d’actions pour spécifier ce qui doit se passer quand votre alerte se déclenche.

  4. Choisissez Créer une règle d’alerte pour finaliser la création de l’alerte.

Pour plus d’informations, consultez Créer des règles d’alerte Azure Monitor.

Journaux d’activité

Trois journaux peuvent être activés pour les points de terminaison en ligne :

  • AmlOnlineEndpointTrafficLog : si vous souhaitez vérifier les informations de votre requête, vous pouvez activer les journaux de trafic. Vous trouverez quelques exemples ci-dessous :

    • En cas de réponse autre que 200, consultez la valeur de la colonne « ResponseCodeReason » pour déterminer ce qui s’est passé. Consultez également le motif dans la section « Codes d’état HTTPS » de l’article Résoudre les problèmes liés aux points de terminaison en ligne.

    • Vous pouvez consulter le code de réponse et le motif de la réponse de votre modèle à partir de la colonne « ModelStatusCode » et « ModelStatusReason ».

    • Vous souhaitez vérifier la durée de la requête, comme la durée totale, la durée de la requête/réponse et le retard causé par la limitation de bande passante réseau. Vous pouvez procéder à cette vérification à partir des journaux pour connaître la latence de la décomposition.

    • Si vous souhaitez consulter le nombre de requêtes ou en savoir plus sur les requêtes ayant échoué récemment, vous pouvez également activer les journaux.

  • AmlOnlineEndpointConsoleLog : contient les journaux que les conteneurs génèrent dans la console. Vous trouverez quelques exemples ci-dessous :

    • Si le conteneur ne démarre pas, le journal de la console peut être utile à des fins de débogage.

    • Surveillez le comportement du conteneur et assurez-vous que toutes les requêtes sont correctement traitées.

    • ID des requêtes d’écriture dans le journal de la console. En joignant l’ID de la requête, le journal AmlOnlineEndpointConsoleLog et le journal AmlOnlineEndpointTrafficLog dans l’espace de travail Log Analytics, vous pouvez suivre une requête depuis le point d’entrée du réseau d’un point de terminaison en ligne jusqu’au conteneur.

    • Vous pouvez également utiliser ce journal pour l’analyse des performances en déterminant le temps nécessaire au modèle pour traiter chaque requête.

  • AmlOnlineEndpointEventLog : contient des informations d’événement sur le cycle de vie du conteneur. Actuellement, nous fournissons des informations sur les types d’événements suivants :

    Nom Message
    BackOff Interruption du redémarrage du conteneur défaillant
    Pulled Image conteneur « <IMAGE_NAME> » déjà présente sur la machine
    Killing Le diagnostic probe liveness du conteneur Serveur d’inférence a échoué. Celui-ci va être redémarré.
    Date de création Création du conteneur Récupérateur d’images
    Date de création Création du conteneur Serveur d’inférence
    Date de création Création du conteneur Montage de modèle
    LivenessProbeFailed Échec du diagnostic probe liveness : <FAILURE_CONTENT>
    ReadinessProbeFailed Échec du diagnostic probe readiness : <FAILURE_CONTENT>
    Démarré Démarrage du conteneur Récupérateur d’images
    Démarré Démarrage du conteneur Serveur d’inférence
    Démarré Démarrage du conteneur Montage de modèle
    Killing Arrêt du conteneur Serveur d’inférence
    Killing Arrêt du conteneur Montage de modèle

Activer/désactiver les journaux

Important

La journalisation utilise Azure Log Analytics. Si vous n’avez pas encore d’espace de travail Log Analytics, vous pouvez en créer un en suivant les étapes décrites dans Créer un espace de travail Log Analytics sur le portail Azure.

  1. Sur le portail Azure, accédez au groupe de ressources qui contient votre point de terminaison, puis sélectionnez le point de terminaison.

  2. Dans la section Surveillance à gauche de la page, sélectionnez Paramètres de diagnostic, puis Ajouter des paramètres.

  3. Sélectionnez les catégories de journaux à activer, choisissez Envoyer à l’espace de travail Log Analytics, puis sélectionnez l’espace de travail Log Analytics à utiliser. Enfin, entrez un nom dans le champ Nom du paramètre de diagnostic et sélectionnez Enregistrer.

    Screenshot of the diagnostic settings dialog.

    Important

    L’activation de la connexion à l’espace de travail Log Analytics peut prendre jusqu’à une heure. Patientez une heure avant de passer aux étapes suivantes.

  4. Envoyez des requêtes de scoring au point de terminaison. Cette activité doit créer des entrées dans les journaux.

  5. Dans les propriétés du point de terminaison en ligne ou dans l’espace de travail Log Analytics, sélectionnez Journaux à gauche de l’écran.

  6. Fermez la boîte de dialogue Requêtes qui s’ouvre automatiquement, puis double-cliquez sur AmlOnlineEndpointConsoleLog. Si vous ne voyez pas cette option, utilisez le champ Rechercher.

    Screenshot showing the log queries.

  7. Sélectionnez Exécuter.

    Screenshots of the results after running a query.

Exemples de requêtes

Vous trouverez des exemples de requêtes sous l’onglet Requêtes lors de la consultation des journaux. Recherchez Point de terminaison en ligne pour accéder à des exemples de requêtes.

Screenshot of the example queries.

Détails des colonnes des journaux

Les tableaux suivants fournissent des détails sur les données stockées dans chaque journal :

AmlOnlineEndpointTrafficLog

Propriété Description
Méthode Méthode demandée par le client.
Chemin d’accès Chemin d’accès demandé par le client.
SubscriptionId ID d’abonnement Machine Learning du point de terminaison en ligne.
AzureMLWorkspaceId ID de l’espace de travail Machine Learning du point de terminaison en ligne.
AzureMLWorkspaceName Nom de l’espace de travail Machine Learning du point de terminaison en ligne.
EndpointName Nom du point de terminaison en ligne.
DeploymentName Nom du déploiement en ligne.
Protocole Protocole de la requête.
ResponseCode Code de réponse final renvoyé au client.
ResponseCodeReason Motif du code de réponse final renvoyé au client.
ModelStatusCode Code d’état de la réponse du modèle.
ModelStatusReason Motif de l’état de la réponse du modèle.
RequestPayloadSize Nombre total d’octets reçus du client.
ResponsePayloadSize Nombre total d’octets renvoyés au client.
UserAgent En-tête user-agent de la requête, y compris les commentaires, mais tronqué jusqu’à un maximum de 70 caractères.
XRequestId ID de requête généré par Azure Machine Learning pour le suivi interne.
XMSClientRequestId ID de suivi généré par le client.
TotalDurationMs Durée en millisecondes entre l’heure de début de la requête et le dernier octet de réponse renvoyé au client. Si le client s’est déconnecté, elle est mesurée entre l’heure de début et l’heure de déconnexion du client.
RequestDurationMs Durée en millisecondes entre l’heure de début de la requête et le dernier octet de la requête reçue du client.
ResponseDurationMs Durée en millisecondes entre l’heure de début de la requête et le premier octet de réponse lu à partir du modèle.
RequestThrottlingDelayMs Retard en millisecondes dans le transfert de données de la requête en raison de la limitation de bande passante réseau.
ResponseThrottlingDelayMs Retard en millisecondes dans le transfert de données de la réponse en raison de la limitation de bande passante réseau.

AmlOnlineEndpointConsoleLog

Propriété Description
TimeGenerated Horodatage (UTC) de la génération du journal.
NomOpération Opération associée à l’enregistrement du journal.
InstanceId ID de l’instance qui a généré cet enregistrement de journal.
DeploymentName Nom du déploiement associé à l’enregistrement du journal.
ContainerName Nom du conteneur dans lequel le journal a été généré.
Message Contenu du journal.

AmlOnlineEndpointEventLog

Propriété Description
TimeGenerated Horodatage (UTC) de la génération du journal.
NomOpération Opération associée à l’enregistrement du journal.
InstanceId ID de l’instance qui a généré cet enregistrement de journal.
DeploymentName Nom du déploiement associé à l’enregistrement du journal.
Nom Nom de l’événement.
Message Contenu de l’événement.

Utilisation d’Application Insights

Les environnements organisés incluent l’intégration d’Application Insights, que vous pouvez activer/désactiver lorsque vous créez un déploiement en ligne. Les métriques et journaux intégrés sont envoyés à Application Insights, dont vous pouvez utiliser les fonctionnalités intégrées (notamment Métriques en direct, Recherche de transactions, Échecs et Performances) pour une analyse plus approfondie.

Pour plus d’informations, consultez Vue d’ensemble d’Application Insights.

Dans le studio, vous pouvez utiliser l’onglet Supervision de la page d’un point de terminaison en ligne pour afficher des graphiques d’ordre général du moniteur d’activité pour le point de terminaison en ligne géré. Pour utiliser l’onglet Supervision, vous devez sélectionner Activer la collecte de données et de diagnostics Application Insights quand vous créez votre point de terminaison.

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