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 métriques associées à des points de terminaison et à des déploiements, épingler les métriques aux tableaux de bord du Portail Azure, configurer des alertes, interroger des tables de journaux d’activité et envoyer (push) des journaux d’activité à 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 comme la latence des requêtes, les requêtes par minute, les nouvelles connexions par seconde et les octets réseau, vous pouvez descendre dans la hiérarchie (« drill down ») pour afficher des informations détaillées au niveau du déploiement ou de l’état. Vous pouvez également descendre dans la hiérarchie pour afficher les métriques au niveau du déploiement, telles que l’utilisation du processeur/processeur graphique et l’utilisation de la mémoire ou du disque, au niveau de l’instance. Dans Monitor, vous pouvez suivre ces métriques dans des graphiques et configurer des tableaux de bord et des alertes pour effectuer une analyse plus approfondie.

  • Journaux d’activité : vous pouvez envoyer des métriques à un espace de travail Log Analytics dans lequel vous pouvez utiliser la syntaxe de requête Kusto pour interroger les journaux d’activité. Vous pouvez également envoyer des métriques à des comptes Stockage Azure ou à Azure Event Hubs pour effectuer un traitement plus approfondi. Pour le trafic, les journaux d’activité de console (conteneur) et les événements liés aux points de terminaison en ligne, vous pouvez utiliser des tables de journaux d’activité dédiées. Les requêtes Kusto prennent en charge des fonctionnalités d’analyse complexes et la jonction de plusieurs tables.

  • Application Insights : les environnements organisés incluent l’intégration à Application Insights. Vous pouvez activer ou désactiver cette intégration lorsque vous créez un déploiement en ligne. Quand vous l’activez, les métriques et journaux d’activité intégrés sont envoyés à Application Insights. Vous pouvez ensuite utiliser les fonctionnalités intégrées d’Application Insights pour effectuer une analyse plus approfondie. Parmi ces fonctionnalités, citons les métriques en direct, la recherche de transactions, l’affichage des échecs et l’affichage du niveau de performance.

Dans cet article, vous allez découvrir comment :

  • Choisir la méthode appropriée pour afficher et suivre les métriques et les journaux d’activité
  • Afficher 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 journaux d’activité de votre point de terminaison en ligne
  • Utiliser Application Insights pour suivre les métriques et les journaux d’activité

Prérequis

  • Un point de terminaison en ligne Azure Machine Learning
  • Au moins un accès Lecteur sur le point de terminaison

Utiliser des métriques

Dans le Portail Azure, vous pouvez afficher des pages de métriques pour les points de terminaison et déploiements en ligne.

Accéder aux métriques à partir d’Azure Machine Learning studio

Pour accéder aux pages de métriques, un moyen simple consiste à utiliser les liens disponibles dans l’interface utilisateur d’Azure Machine Learning studio. Vous trouverez ces liens sous l’onglet Détails de la page d’un point de terminaison. Ces liens mènent à la page de métriques dans le Portail Azure pour le point de terminaison ou le déploiement.

Pour accéder aux pages de métriques par le biais des liens disponibles dans le studio, effectuez les étapes suivantes :

  1. Dans Azure Machine Learning studio, accédez à votre espace de travail.

  2. Sous Ressources, sélectionnez Points de terminaison.

  3. Sélectionnez le nom d’un point de terminaison.

  4. Sous Attributs de point de terminaison, sélectionnez Afficher les métriques.

    Capture d’écran d’une page de point de terminaison dans le studio montrant les attributs de point de terminaison. Les éléments Ressources, Points de terminaison, Attributs de point de terminaison et Afficher les métriques sont mis en évidence.

    La page de métriques du point de terminaison s’ouvre dans le Portail Azure.

  5. Dans Azure Machine Learning studio, dans une page de point de terminaison, accédez à la section d’un déploiement, puis sélectionnez Afficher les métriques.

    Capture d’écran d’une page de point de terminaison dans le studio montrant des informations sur le déploiement. Les éléments Déploiement blue et Afficher les métriques sont mis en évidence.

    La page de métriques du déploiement s’ouvre dans le Portail Azure.

Accéder aux métriques à partir du Portail Azure

Une autre façon d’afficher la page de métriques d’un point de terminaison ou d’un déploiement consiste à accéder directement au Portail Azure :

  1. Accédez au portail Azure.

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

    Les points de terminaison et les déploiements en ligne sont des ressources Azure Resource Manager. Vous pouvez les trouver en accédant à leur groupe de ressources, puis en recherchant les types de ressources Point de terminaison en ligne Machine Learning et Déploiement en ligne Machine Learning.

  3. Dans la page de la ressource, sous Surveillance, sélectionnez Métriques.

    Capture d’écran du Portail Azure montrant la page Métriques pour un déploiement. Les éléments Surveillance et Métriques sont mis en évidence.

Métriques disponibles

Les métriques que vous voyez dépendent de la ressource que vous sélectionnez. Les métriques pour les points de terminaison en ligne et les déploiements en ligne ont des étendues différentes.

Métriques dans l’étendue du point de terminaison

Pour obtenir des informations sur les métriques disponibles dans l’étendue du point de terminaison en ligne, consultez Métriques prises en charge pour Microsoft.MachineLearningServices/workspaces/onlineEndpoints.

Limitation de bande passante

La bande passante est limitée en cas de dépassement des limites de quota pour les points de terminaison en ligne managés. Pour plus d’informations sur les limites des points de terminaison en ligne, consultez Points de terminaison en ligne et points de terminaison par lots d’Azure Machine Learning dans l’article sur les quotas et les limites dans Azure Machine Learning. Pour déterminer si les requêtes sont limitées :

  • Surveillez la métrique Octets réseau.
  • Recherchez les champs suivants dans les codes de fin de réponse : 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

Pour obtenir des informations sur les métriques disponibles dans l’étendue du déploiement, consultez Métriques prises en charge pour Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.

Créer des tableaux de bord et des alertes

Dans Monitor, vous pouvez 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 dans 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 de requêtes, consultez Créer et partager des tableaux de bord de données Log Analytics et Créer des tableaux de bord d’indicateurs de performance clés personnalisés à l’aide d’Application Insights.

Créez des alertes

Vous pouvez également créer des alertes personnalisées afin de recevoir des notifications sur les mises à jour importantes de l’état de votre point de terminaison en ligne :

  1. Dans le Portail Azure, accédez à une page de métriques, puis sélectionnez Nouvelle règle d’alerte.

    Capture d’écran du Portail Azure montrant la page Métriques pour un déploiement. L’élément Nouvelle règle d’alerte est mis en évidence.

  2. Dans la fenêtre Sélectionner un signal, sélectionnez le signal pour lequel vous souhaitez créer une alerte, puis sélectionnez Appliquer.

  3. Dans la page Créer une règle d’alerte, entrez un seuil, puis ajustez les autres paramètres au besoin. Pour plus d’informations sur les paramètres des règles d’alerte, consultez Configurer les conditions de la règle d’alerte. Sélectionnez ensuite Suivant : Actions.

    Capture d’écran de la page Créer une règle d’alerte dans le Portail Azure. La zone Seuil et le bouton Suivant : Actions sont mis en évidence.

  4. Dans la fenêtre Sélectionner des groupes d’actions, créez ou sélectionnez un groupe d’actions pour spécifier ce qui se passe en cas de déclenchement de votre alerte. Pour plus d’informations, consultez Configurer les détails de la règle d’alerte.

  5. Sélectionnez Vérifier + créer pour terminer la création de votre alerte.

Mettre à l’échelle automatiquement en fonction de métriques

Vous pouvez configurer les déploiements pour qu’ils se mettent à l’échelle automatiquement en fonction de métriques. Pour activer la fonctionnalité de mise à l’échelle automatique, vous pouvez utiliser l’interface utilisateur ou du code.

Les options pour le code sont l’interface de ligne de commande Azure Machine Learning et le Kit de développement logiciel (SDK) Azure Machine Learning pour Python. Quand vous utilisez du code, vous configurez les conditions de déclenchement de la mise à l’échelle automatique en fournissant le nom de l’API REST des métriques.

Pour plus d’informations, consultez Mise à l’échelle automatique des points de terminaison en ligne dans Azure Machine Learning.

Utiliser des journaux

Vous pouvez activer trois journaux d’activité pour les points de terminaison en ligne :

  • AmlOnlineEndpointTrafficLog : ce journal de trafic vous permet de vérifier les informations des requêtes adressées au point de terminaison. Ce journal est utile dans les cas suivants :

    • Une réponse à une requête n’est pas 200 et vous souhaitez obtenir plus d’informations. La colonne ResponseCodeReason du journal liste le motif. Pour obtenir la description des codes d’état et des motifs, consultez Codes d’état HTTPS dans l’article sur le résolution des problèmes liés aux points de terminaison en ligne.
    • Vous souhaitez rechercher le code de réponse et le motif de réponse de votre modèle pour une requête. Les colonnes ModelStatusCode et ModelStatusReason fournissent ces informations.
    • Vous souhaitez connaître la durée d’une requête. Les journaux d’activité fournissent une décomposition de la latence. Cette décomposition indique la durée totale, la durée de la requête, la durée de la réponse et le retard causé par la limitation du réseau.
    • Vous souhaitez vérifier le nombre de requêtes récentes ayant réussi et échoué. Les journaux d’activité fournissent ces informations.
  • AmlOnlineEndpointConsoleLog : ce journal contient les instructions que les conteneurs écrivent en sortie sur la console. Ce journal est utile dans les cas suivants :

    • Un conteneur ne parvient pas à démarrer. Le journal de la console peut être utile à des fins de débogage.
    • Vous souhaitez surveiller le comportement du conteneur et vous assurer que toutes les requêtes sont correctement traitées.
    • Vous souhaitez suivre une requête du point d’entrée réseau d’un point de terminaison en ligne jusqu’au conteneur. Vous pouvez utiliser une requête Log Analytics qui joint l’ID de requête aux informations des journaux d’activité AmlOnlineEndpointConsoleLog et AmlOnlineEndpointTrafficLog.
    • Vous souhaitez exécuter une analyse des performances, par exemple pour déterminer le temps nécessaire au modèle pour traiter chaque requête.
  • AmlOnlineEndpointEventLog : ce journal contient des informations sur les événements relatifs au cycle de vie du conteneur. Le journal fournit actuellement 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 les journaux

Important

La journalisation utilise la fonctionnalité Log Analytics de Monitor. Si vous ne disposez pas actuellement d’un espace de travail Log Analytics, vous pouvez en créer un en suivant les étapes décrites dans Créer un espace de travail.

  1. Dans le Portail Azure, accédez au groupe de ressources contenant votre point de terminaison, puis sélectionnez le point de terminaison.

  2. Sous Surveillance, sélectionnez Paramètres de diagnostic, puis sélectionnez Ajouter un paramètre de diagnostic.

  3. Dans la fenêtre Paramètre de diagnostic, entrez les informations suivantes :

    • En regard de Nom du paramètre de diagnostic, entrez un nom pour votre paramètre.
    • Sous Journaux d’activité, sélectionnez les catégories de journaux d’activité à activer.
    • Sous Détails de la destination, sélectionnez Envoyer à l’espace de travail Log Analytics, puis sélectionnez l’abonnement et l’espace de travail Log Analytics à utiliser.

    Capture d’écran de la fenêtre Paramètre de diagnostic. Les éléments Tous les journaux d’activité et Envoyer à l’espace de travail Log Analytics sont sélectionnés. Un abonnement et un espace de travail sont visibles.

  4. Cliquez sur Enregistrer.

    Important

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

Journaux des requêtes

  1. Envoyez des requêtes de scoring au point de terminaison pour créer des entrées dans les journaux d’activité.

  2. Accédez au portail Azure. Pour ouvrir les journaux, utilisez l’une des options suivantes :

    • Accédez à la page de propriétés de votre point de terminaison en ligne. Sous Supervision, sélectionnez Journaux d’activité.
    • Accédez à votre espace de travail Log Analytics. Sur la gauche, sélectionnez Journaux.
  3. Fermez la fenêtre Hub de requêtes qui s’ouvre par défaut.

  4. Sous Autre, double-cliquez sur AmlOnlineEndpointConsoleLog. Si vous ne voyez pas AmlOnlineEndpointConsoleLog, entrez cette valeur dans le champ de recherche.

    Capture d’écran de la page Journaux d’activité du Portail Azure pour un point de terminaison. AmlOnlineEndpointConsoleLog est mis en évidence dans la zone de recherche et les résultats.

  5. Sélectionnez Exécuter.

    Capture d’écran de la page Journaux d’activité du Portail Azure pour un point de terminaison. L’élément Exécuter est mis en évidence et les résultats de la requête AmlOnlineEndpointConsoleLog sont visibles.

Exemples de requêtes

Des exemples de requêtes sont disponibles. Pour afficher les requêtes, effectuez les étapes suivantes :

  1. Dans la page Journaux d’activité, sélectionnez Requêtes.

  2. Dans la zone de recherche, entrez Point de terminaison en ligne.

    Capture d’écran de l’onglet Requêtes de la page Journaux d’activité du Portail Azure. Deux exemples de requêtes sont visibles, et l’onglet Requêtes et la zone de recherche sont mis en évidence.

Détails des colonnes des journaux

Les tableaux suivants donnent des informations détaillées sur les données stockées dans chaque journal :

AmlOnlineEndpointTrafficLog

Propriété Description
Method 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 retourné au client.
ResponseCodeReason Motif du code de réponse final retourné 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é à 70 caractères maximum.
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 l’heure à laquelle le dernier octet de réponse est renvoyé au client. Si le client se déconnecte, la durée est calculé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 l’heure à laquelle le dernier octet de la requête est reçu du client.
ResponseDurationMs Durée en millisecondes entre l’heure de début de la requête et l’heure à laquelle le premier octet de réponse est 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 l’heure à laquelle le journal est généré
NomOpération Opération associée à l’enregistrement du journal
InstanceId ID de l’instance qui génère l’enregistrement de journal
DeploymentName Nom du déploiement associé à l’enregistrement du journal
ContainerName Nom du conteneur dans lequel le journal est généré
Message Contenu du journal

AmlOnlineEndpointEventLog

Propriété Description
TimeGenerated Horodatage UTC de l’heure à laquelle le journal est généré
NomOpération Opération associée à l’enregistrement du journal
InstanceId ID de l’instance qui génère l’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

Utiliser Application Insights

Les environnements organisés incluent l’intégration à Application Insights. Grâce à cette intégration, les métriques et journaux d’activité intégrés sont envoyés à Application Insights. Vous pouvez donc utiliser les fonctionnalités intégrées d’Application Insights pour effectuer une analyse plus approfondie. Parmi ces fonctionnalités, citons les métriques en direct, la recherche de transactions, l’affichage des échecs et l’affichage du niveau de performance.

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

Vous pouvez activer l’intégration à Application Insights lorsque vous créez un déploiement en ligne dans le studio. Dans la page Déploiement, sous Diagnostics d’Application Insights, sélectionnez Activé.

Capture d’écran de la page Déploiement du studio lorsqu’un utilisateur crée un point de terminaison en ligne. Le paramètre Diagnostics Application Insights est mis en évidence.

Quand vous activez Application Insights, vous pouvez voir des graphiques généraux dans le moniteur d’activité pour un point de terminaison en ligne managé. Dans le studio, accédez à la page du point de terminaison, puis sélectionnez l’onglet Surveillance.

Capture d’écran de l’onglet Surveillance dans une page de point de terminaison du studio. L’onglet Surveillance est mis en évidence. Un graphique affiche les requêtes par minute adressées au point de terminaison.