Live Metrics : superviser et diagnostiquer avec une latence de 1 seconde
Utilisez des métriques temps réel d’Application Insights pour superviser les applications web. Sélectionnez et filtrez les métriques et les compteurs de performances pour superviser en temps réel, et inspectez les traces de pile à partir d’exemples de requêtes ayant échoué et d’exceptions. L’expérience de métriques temps réel est un outil de diagnostic puissant lorsqu’il est combiné avec Profiler .NET et Débogueur de capture instantanée.
Avec Live Metrics, vous pouvez :
- Valider un correctif lors de sa publication, en observant les performances et les nombres d’échecs.
- Observer l’effet des tests de charge et diagnostiquer les problèmes en temps réel.
- Vous concentrer sur des sessions de tests particulières ou filtrer les problèmes connus, en sélectionnant et en filtrant les métriques que vous voulez observer.
- Obtenir les traces des exceptions quand elles se produisent.
- Faites des essais avec les filtres pour rechercher les indicateurs de performance clés les plus pertinents.
- Surveiller en temps réel des compteurs de performances Windows.
- Identifier plus facilement un serveur qui rencontre des problèmes et filtrer tous les indicateurs de performance clés/flux en temps réel sur ce serveur uniquement.
Démarrage
- Activez les métriques temps réel en suivant les instructions propres au langage :
- ASP.NET : non pris en charge.
- ASP.NET Core: activé par défaut.
- Java : activé par défaut.
- Node.js : activé par défaut.
- Python : Passer de
enable_live_metrics=True
àconfigure_azure_monitor
. Consultez la documentation sur les Distributions OpenTelemetry Azure Monitor pour plus d’informations.
Ouvrez la ressource Application Insights correspondant à votre application dans le Portail Azure. Sélectionnez Live Metrics répértorié sous Examiner dans le menu de gauche.
Sécurisez le canal de contrôle en activant l’authentification Microsoft Entra si vous utilisez des filtres personnalisés.
Remarque
Le support de l’ingestion de clé d’instrumentation prendra fin le 31 mars 2025. L’ingestion de clé d’instrumentation continuera de fonctionner, mais nous ne fournirons plus de mises à jour ni de support pour la fonctionnalité. Passez aux chaînes de connexion pour tirer parti des nouvelles fonctionnalités.
En quoi Live Metrics diffère de Metrics Explorer et de Log Analytics ?
Fonctionnalités | Flux temps réel | Metrics Explorer et Log Analytics |
---|---|---|
Latence | Données affichées en une seconde. | Agrégé sur plusieurs minutes. |
Pas de conservation | Les données persistent tant qu’elles sont sur le graphique, puis sont abandonnées. | Données conservées pendant 90 jours. |
À la demande | Les données sont diffusées uniquement tant que le volet Métriques temps réel est ouvert. | Les données sont envoyées quand le SDK est installé et activé. |
Gratuit | Les données Flux de métriques temps réel n’engendrent pas de frais. | Soumis à tarification. |
échantillonnage | Tous les compteurs et métriques sélectionnés sont transmis. Les échecs et les traces de pile sont échantillonnés. | Les événements peuvent être échantillonnés. |
Canal de contrôle | Les signaux de contrôle de filtre sont envoyés au SDK. Nous vous recommandons de sécuriser ce canal. | La communication est unidirectionnelle vers le portail. |
Sélectionner et filtrer vos métriques
Ces fonctionnalités sont disponibles avec ASP.NET, ASP.NET Core et Azure Functions (v2).
Vous pouvez surveiller des indicateurs de performance personnalisés en temps réel en appliquant des filtres arbitraires sur n’importe quelle télémétrie Application Insights à partir du portail. Cliquez sur la commande de filtre qui s’affiche lorsque vous passez la souris sur un graphique. Le graphique suivant illustre un KPI du nombre de demandes personnalisé avec des filtres sur les attributs URL et Durée. Vérifiez vos filtres en regardant la section d’aperçu du flux qui montre un flux en temps réel de télémétrie correspondant aux critères que vous avez spécifiés.
Vous pouvez surveiller une valeur autre qu’un Nombre. Les options varient selon le type de flux, qui peut être n’importe quelle télémétrie Application Insights comme les demandes, dépendances, exceptions, suivis, événements ou métriques. Il peut s’agir aussi de votre propre mesure personnalisée.
En plus de la télémétrie Application Insights, vous pouvez également surveiller n’importe quel compteur de performances Windows. Sélectionnez-le dans les options de flux et fournissez le nom du compteur de performances.
Les métriques temps réel sont agrégées à deux endroits : localement sur chaque serveur, puis sur tous les serveurs. Vous pouvez changer la valeur par défaut en sélectionnant d’autres options dans les listes déroulantes respectives.
Exemple de télémétrie : événements de diagnostic temps réel personnalisés
Par défaut, le flux d’événements temps réel présente des exemples de demandes ayant échoué et d’appels de dépendance, d’exceptions, d’événements et de suivis. Sélectionnez l'icône de filtre pour voir les critères appliqués à tout moment.
Comme avec les métriques, vous pouvez spécifier un critère arbitraire sur les types de données de télémétrie Application Insights. Dans cet exemple, nous sélectionnons des événements et des échecs de demande spécifiques.
Remarque
Pour les critères basés sur un message d’exception, utilisez le message d’exception le plus à l’extérieur. Dans l’exemple précédent, pour éliminer l’exception sans gravité avec un message d’exception interne (après le délimiteur « <-- ») Le « client déconnecté », utilisez un critère de message ne contenant pas « Erreur de lecture du contenu de la demande ».
Pour voir les détails d’un élément dans le flux temps réel, sélectionnez-le. Vous pouvez interrompre le flux en sélectionnant Pause ou en faisant défiler vers le bas et en sélectionnant un élément. Le flux temps réel reprend lorsque vous revenez en haut, ou que vous sélectionnez le compteur d’éléments collectés alors qu’il était suspendu.
Filtrer par instance de serveur
Si vous voulez surveiller une instance de rôle serveur spécifique, vous pouvez appliquer un filtre par serveur. Pour filtrer, sélectionnez le nom du serveur sous Serveurs.
Sécuriser le canal de contrôle
Sécurisez le canal de contrôle des métriques temps réel en activant l’authentification Microsoft Entra, ce qui empêche la divulgation non autorisée d’informations potentiellement sensibles entrées dans des filtres personnalisés.
Remarque
Le 30 septembre 2025, les clés API utilisées pour envoyer en streaming la télémétrie Live Metrics à Application Insights seront mises hors service. Après cette date, les applications qui utilisent les clés API ne pourront plus envoyer de données Live Metrics à votre ressource Application Insights. Une ingestion des données de télémétrie authentifiée pour la diffuser en continu du Live Metrics vers Application Insights devra être effectuée avec l’authentification Microsoft Entra pour Application Insights.
Tableau des fonctionnalités prises en charge
Langage | Métriques de base | Mesures de performances | Filtrage personnalisé | Exemple de télémétrie | UC fractionnée par processus |
---|---|---|---|---|---|
.NET Framework | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) |
.NET Core (cible=. NET Framework) | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) | Pris en charge (LTS) |
.NET Core (cible=. NET Core) | Pris en charge (LTS) | Pris en charge* | Pris en charge (LTS) | Pris en charge (LTS) | Non pris en charge |
Azure Functions v2 | Prise en charge | Prise en charge | Prise en charge | Prise en charge | Non pris en charge |
Java | Pris en charge (V2.0.0 et versions ultérieures) | Pris en charge (V2.0.0 et versions ultérieures) | Non pris en charge | Pris en charge (V3.2.0+) | Non pris en charge |
Node.js | Pris en charge (V1.3.0 et versions ultérieures) | Pris en charge (V1.3.0 et versions ultérieures) | Non pris en charge | Pris en charge (V1.3.0 et versions ultérieures) | Non pris en charge |
Python | Prise en charge (version de distribution 1.6.0+) | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge |
Les métriques de base incluent les requêtes, les dépendances et le taux d’exceptions. Les métriques du niveau de performance (compteurs de performances) incluent la mémoire et l’UC. L’exemple de télémétrie montre un flux d’informations détaillées pour les demandes et les dépendances ayant échoué, les exceptions, les événements et les traces.
La prise en charge des compteurs de performances varie légèrement entre les versions de .NET Core qui ne ciblent pas le .NET Framework :
- Les métriques des compteurs de performances sont prises en charge quand elles sont exécutées dans Azure App Service pour Windows (SDK ASP.NET Core version 2.4.1 ou ultérieure).
- Les compteurs de performance sont pris en charge lorsque l’application est exécutée sur n’importe quelle machine Windows pour applications qui ciblent .NET Core LTS ou une version ultérieure.
- Les compteurs de performances sont pris en charge lorsque l’application s’exécute n’importe où (Linux, Windows, app service pour Linux ou conteneurs) dans les versions les plus récentes, mais uniquement pour les applications qui ciblent .NET Core LTS ou ultérieur.
Dépannage
La section suivante décrit les scénarios de résolution des problèmes courants pour l’expérience des métriques temps réel.
Données de métriques temps réel manquantes
L’expérience de métriques temps réel utilise des adresses IP différentes de celles des autres données de télémétrie Application Insights. Assurez-vous que ces adresses IP sont ouvertes dans votre pare-feu. Vérifiez également que les ports sortants pour Live Metrics sont ouverts dans le pare-feu de vos serveurs.
Comme décrit dans l’annonce relative à la migration d’Azure TLS 1.2, Live Metrics prend uniquement en charge TLS 1.2 par défaut. Si vous utilisez une version antérieure de TLS, Live Metrics n’affiche aucune donnée. Pour les applications basées sur le .NET Framework 4.5.1, consultez Activer TLS (Transport Layer Security) 1.2 sur les clients – Configuration Manager pour prendre en charge la version plus récente de TLS.
Vérifiez qu’Application Insights est activé et que votre application utilise une version récente de la distribution OpenTelemetry Azure Monitor. Si vous utilisez l’API classique .NET, installez le package NuGet Application Insights.
Autoriser les serveurs connectés : cette option n’est pas disponible
Nous déconseillons fortement l’utilisation de canaux non sécurisés.
Si vous choisissez d’essayer des filtres personnalisés sans configurer de canal authentifié, vous devez autoriser les serveurs connectés dans chaque nouvelle session ou lorsque de nouveaux serveurs sont en ligne. En outre, l’utilisation de canaux non sécurisés sera automatiquement désactivée après six mois.
Une boîte de dialogue affiche un avertissement : « Vous pouvez diffuser en continu des métriques et des événements avec des filtres personnalisés, qui sont renvoyés à votre application. Évitez d’entrer des informations potentiellement sensibles (telles que l’ID client) jusqu’à ce que vous ayez mis en place un canal authentifié. Toutefois, si vous connaissez et faites confiance à tous les serveurs ci-dessous, vous pouvez essayer les filtres personnalisés sans authentification. Cette option ne sera pas disponible après le ##/#####. Serveurs connectés sans authentification : »
Pour corriger cet avertissement, consultez Sécuriser le canal de contrôle.
Faible nombre d’instances de serveur supervisées
Le nombre d’instances de serveur supervisées affichées par Live Metrics risque d’être inférieur au nombre réel d’instances allouées pour l’application. Cette différence vient du fait que de nombreux serveurs web modernes déchargent les applications qui ne reçoivent pas de requêtes durant une période donnée afin de préserver les ressources. Étant donné que Live Metrics compte uniquement les serveurs qui exécutent actuellement l’application, les serveurs qui ont déjà déchargé le processus ne sont pas compris dans ce total.
Configuration manquante pour .NET
Vérifiez que vous utilisez la dernière version du package NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
Modifiez le fichier
ApplicationInsights.config
:- Vérifiez que la chaîne de connexion pointe vers la ressource Application Insights que vous utilisez.
- Localisez l’option de configuration
QuickPulseTelemetryModule
. Si elle n’est pas là, ajoutez-la. - Localisez l’option de configuration
QuickPulseTelemetryProcessor
. Si elle n’est pas là, ajoutez-la.
<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector. QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/> </TelemetryModules> <TelemetryProcessors> <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector. QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/> </TelemetryProcessors>
Redémarrez-la.
Message d’état « Les données sont temporairement inaccessibles »
Lorsque vous accédez aux métriques temps réel, vous pouvez voir une bannière avec le message d’état : « Les données sont temporairement inaccessibles. Les mises à jour sur notre état sont publiées ici https://aka.ms/aistatus »
Suivez le lien vers la page Statut Azure et vérifier tout problème d’activation affectant Application Insights. Vérifiez que les pare-feu et les extensions de navigateur ne bloquent pas l’accès à Live Metrics en cas de panne. Par exemple, certaines extensions ad-blocker populaires bloquent les connexions à *.monitor.azure.com
. Pour utiliser toutes les fonctionnalités de Live Metrics, désactivez l’extension ad-blocker ou ajoutez une règle d’exclusion à votre bloqueur de publicités, à votre pare-feu, etc. pour le domaine *.livediagnostics.monitor.azure.com
.
Grand nombre inattendu de requêtes de livediagnostics.monitor.azure.com
Les SDK Application Insights utilisent une API REST pour communiquer avec des points de terminaison QuickPulse, qui fournissent des métriques actives pour votre application web. Par défaut, les kits SDK interrogent les points de terminaison une fois toutes les cinq secondes pour vérifier si vous affichez le volet Métriques temps réel dans le portail Azure.
Si vous ouvrez Live Metrics, les SDK basculent vers un mode de fréquence plus élevée et envoient de nouvelles métriques à QuickPulse toutes les secondes. Cela vous permet de surveiller et de diagnostiquer votre application en direct avec une latence de 1 seconde, mais génère également plus de trafic réseau. Pour restaurer le flux normal du trafic, quittez le volet Live Metrics.
Notes
Les appels d’API REST effectués par les SDK aux points de terminaison QuickPulse ne sont pas suivis par Application Insights et n’affectent pas vos appels de dépendance ou d’autres métriques. Toutefois, vous pouvez les voir dans d’autres outils de surveillance réseau.