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 :
Dans Azure Machine Learning studio, accédez à votre espace de travail.
Sous Ressources, sélectionnez Points de terminaison.
Sélectionnez le nom d’un point de terminaison.
Sous Attributs de point de terminaison, sélectionnez Afficher les métriques.
La page de métriques du point de terminaison s’ouvre dans le Portail Azure.
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.
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 :
Accédez au portail Azure.
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.
Dans la page de la ressource, sous Surveillance, sélectionnez Métriques.
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
etms-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 :
Dans le Portail Azure, accédez à une page de métriques, puis sélectionnez Nouvelle règle d’alerte.
Dans la fenêtre Sélectionner un signal, sélectionnez le signal pour lequel vous souhaitez créer une alerte, puis sélectionnez Appliquer.
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.
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.
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 connaître les noms des métriques de point de terminaison à utiliser dans le code, consultez les valeurs de la colonne Nom dans l’API REST dans la table dans Métriques prises en charge pour Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
- Pour connaître les noms des métriques de déploiement à utiliser dans le code, consultez les valeurs de la colonne Nom dans l’API REST dans les tables dans Métriques prises en charge pour Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
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
etModelStatusReason
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.
- Une réponse à une requête n’est pas 200 et vous souhaitez obtenir plus d’informations. La colonne
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.
Dans le Portail Azure, accédez au groupe de ressources contenant votre point de terminaison, puis sélectionnez le point de terminaison.
Sous Surveillance, sélectionnez Paramètres de diagnostic, puis sélectionnez Ajouter un paramètre de diagnostic.
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.
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
Envoyez des requêtes de scoring au point de terminaison pour créer des entrées dans les journaux d’activité.
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.
Fermez la fenêtre Hub de requêtes qui s’ouvre par défaut.
Sous Autre, double-cliquez sur AmlOnlineEndpointConsoleLog. Si vous ne voyez pas AmlOnlineEndpointConsoleLog, entrez cette valeur dans le champ de recherche.
Sélectionnez Exécuter.
Exemples de requêtes
Des exemples de requêtes sont disponibles. Pour afficher les requêtes, effectuez les étapes suivantes :
Dans la page Journaux d’activité, sélectionnez Requêtes.
Dans la zone de recherche, entrez Point de terminaison en ligne.
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é.
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.