Cartographie d’application : triage des applications distribuées
Les développeurs utilisent des cartographies d’application pour représenter la structure logique de leurs applications distribuées. Une cartographie est produite en identifiant les composants d’application individuels avec leur propriété roleName
ou name
dans la télémétrie enregistrée. Les cercles (ou nœuds) dans la cartographie représentent les composants, et les lignes directionnelles (connecteurs ou arêtes) montrent les appels HTTP des nœuds sources aux nœuds cibles.
Azure Monitor fournit la fonctionnalité Cartographie d’application pour vous aider à implémenter rapidement une cartographie, et identifier les goulots d’étranglement des performances ou les zones réactives défaillantes dans tous les composants. Chaque nœud de cartographie est un composant d’application ou ses dépendances, et fournit des KPI d’intégrité et l’état des alertes. Vous pouvez sélectionner n’importe quel nœud pour voir des diagnostics détaillés, par exemple, des événements Application Insights. Si votre application utilise des services Azure, vous pouvez également sélectionner des diagnostics Azure, tels que des recommandations de SQL Database Advisor.
La Cartographie d’application propose également une Vue intelligente pour vous aider à effectuer des investigations rapides sur l’intégrité du service.
Comprendre les composants
Les composants sont des parties pouvant être déployées de manière indépendante de votre application distribuée ou de microservice. Les développeurs et équipes d’opérations disposent d’une visibilité au niveau du code ou d’un accès à la télémétrie générée par ces composants d’application.
Voici quelques considérations sur les composants :
- Les composants sont différents des dépendances externes « observées », comme Azure SQL et Azure Event Hubs, auxquelles votre équipe ou organisation n’a peut-être pas accès (code ou télémétrie).
- Les composants s’exécutent sur un nombre quelconque d’instances de serveur, rôle ou conteneur.
- Les composants peuvent être distincts des ressources Application Insights, même si les abonnements sont différents. Ils peuvent également représenter des rôles différents qui rapportent à une seule ressource Application Insights. L’expérience de cartographie en préversion montre les composants, quelle que soit leur configuration.
Explorer la Cartographie d’application
La Cartographie d’application vous permet de voir la topologie complète des applications à plusieurs niveaux des composants d’application associés. Comme décrit plus haut, les composants peuvent être différentes ressources Application Insights, des composants dépendants ou différents rôles d’une même ressource. La Cartographie d’application recherche les composants en suivant les appels de dépendance HTTP effectués entre les serveurs qui sont équipés du SDK Application Insights.
L’expérience de cartographie commence par la découverte progressive des composants au sein de l’application et de leurs dépendances. Quand vous chargez la Cartographie d’application pour la première fois, un ensemble de requêtes est déclenché pour découvrir les composants liés au composant principal. Pendant la découverte des composants, une barre d’état affiche le nombre actuel de composants découverts :
Les sections suivantes décrivent certaines des actions disponibles qui permettent d’utiliser la Cartographie d’application dans le portail Azure.
Mettre à jour les composants de cartographie
L’option Mettre à jour les composants de la cartographie déclenche la découverte des composants et actualise la cartographie pour montrer tous les nœuds actuels. Selon la complexité de votre application, le chargement de la mise à jour peut prendre une minute :
Quand tous les composants d’application sont des rôles au sein d’une même ressource Application Insights, cette étape de découverte n’est pas nécessaire. Le chargement initial dans ce scénario d’application découvre tous les composants.
Voir les détails du composant
Un des objectifs clés de l’expérience de Cartographie d’application est de vous aider à visualiser des topologies complexes de centaines de composants. Dans ce scénario, il est utile d’améliorer la vue cartographique avec les détails d’un nœud individuel en utilisant l’option Voir les détails. Le volet d’informations du nœud affiche les insights, les performances et l’expérience de triage des échecs correspondant au composant sélectionné :
Chaque section du volet comprend une option permettant de voir plus d’informations dans une vue développée, notamment les échecs, les performances et les détails des dépendances et des demandes ayant échoué.
Examiner les échecs
Dans le volet d’informations du nœud, vous pouvez utiliser l’option Investiguer les échecs pour voir tous les échecs du composant :
La vue Échecs vous permet d’explorer les données d’échec des opérations, des dépendances, des exceptions et des rôles associés au composant sélectionné :
Examiner les performances
Dans le volet d’informations du nœud, vous pouvez résoudre les problèmes de performances du composant en sélectionnant l’option Investiguer les performances :
La vue Performances vous permet d’explorer les données de télémétrie des opérations, des dépendances et des rôles connectés au composant sélectionné :
Accéder aux détails et au rapport des appels de procédure
L’option Accéder aux détails dans le volet d’informations du nœud affiche l’expérience de transaction de bout en bout du composant. Ce volet vous permet de voir les détails au niveau de la pile des appels :
La page s’ouvre sur la vue Chronologie pour plus d’informations :
Vous pouvez utiliser l’option Tout voir pour voir les détails de la pile avec les informations de trace et d’événement du composant :
Afficher dans les journaux (Analytics)
Dans le volet d’informations du nœud, vous pouvez interroger et investiguer davantage vos données d’applications avec l’option Voir dans les journaux (Analytics) :
La page Journaux (Analytics) fournit des options permettant d’explorer les enregistrements de la table de télémétrie de votre application avec des requêtes et des fonctions intégrées ou personnalisées. Vous pouvez exploiter les données en ajustant le format, et en enregistrant et exportant votre analyse :
Voir les alertes et les règles
L’option Voir les alertes dans le volet d’informations du nœud vous permet de voir les alertes actives :
La page Alertes affiche les alertes critiques et déclenchées :
L’option Règles d’alerte dans la page Alertes affiche les règles sous-jacentes qui provoquent le déclenchement des alertes :
Comprendre les nœuds et les noms de rôle cloud
La Cartographie d’application utilise la propriété du nom de rôle cloud pour identifier les composants d’application dans une cartographie. Pour comprendre comment les noms de rôle cloud sont utilisés avec les nœuds de composant, observez une cartographie d’application présentant plusieurs noms de rôle cloud.
L’exemple suivant montre une cartographie dans une vue hiérarchique avec cinq nœuds de composant et des connecteurs vers neuf nœuds dépendants. Chaque nœud a un nom de rôle cloud.
La Cartographie d’application utilise différentes couleurs, surbrillances et tailles pour les nœuds afin de représenter les données et les relations des composants d’application :
Les noms de rôle cloud expriment les différents aspects de l’application distribuée. Dans cet exemple, certains des rôles d’application sont
Contoso Retail Check
,Fabrikam-App
,fabrikam-loadfunc
,retailfabrikam-37ha6
etretailapp
.Le cercle bleu en pointillés autour d’un nœud indique qu’il s’agit du dernier composant sélectionné. Dans cet exemple, le dernier composant sélectionné est le nœud
Web
.Quand vous sélectionnez un nœud pour voir les détails, le nœud est mis en évidence par un cercle bleu continu. Dans l’exemple, le nœud actuellement sélectionné est
Contoso Retail Reports
.Les nœuds de composant distants ou non associés sont plus petits par rapport aux autres nœuds. Ces éléments sont grisés dans la vue pour mettre en évidence les performances du composant actuellement sélectionné.
Dans cet exemple, chaque nom de rôle cloud représente également une ressource Application Insights unique avec ses propres clés d’instrumentation. Comme le propriétaire de cette application a accès à chacune des quatre ressources Application Insights distinctes, la Cartographie d’application peut constituer une cartographie des relations sous-jacentes.
Investiguer les instances de rôle cloud
Quand un nom de rôle cloud révèle un problème quelque part dans votre front-end web et que vous exécutez plusieurs serveurs à charge équilibrée sur votre front-end web, l’utilisation d’une instance de rôle cloud peut être utile. La Cartographie d’application vous permet de voir des informations plus approfondies sur un nœud de composant en utilisant des requêtes Kusto. Vous pouvez investiguer un nœud pour voir des détails sur des instances de rôle cloud spécifiques. Cette approche vous permet de déterminer si un problème affecte tous les serveurs du front-end web ou uniquement des instances spécifiques.
Vous pouvez remplacer la valeur de l’instance de rôle cloud si votre application s’exécute dans un environnement conteneurisé. Dans ce cas, les informations concernant le serveur individuel ne sont peut-être pas suffisantes pour localiser le problème spécifique.
Pour plus d’informations sur la substitution de la propriété nom du rôle cloud avec des initialiseurs de télémétrie, consultez Ajouter des propriétés : ITelemetryInitializer.
Définir les noms de rôle cloud
La Cartographie d’application utilise la propriété du nom de rôle cloud pour identifier les composants dans la cartographie. Cette section fournit des exemples pour définir ou remplacer manuellement les noms de rôle cloud, et changer ce qui s’affiche dans la cartographie d’application.
Remarque
Le Kit de développement logiciel (SDK) ou l’agent Application Insights ajoute automatiquement la propriété du nom du rôle cloud à la télémétrie émise par les composants dans un environnement Azure App Service.
L’extrait de code suivant montre les définitions de schéma du rôle cloud et de l’instance de rôle cloud :
[Description("Name of the role the application is a part of. Maps directly to the role name in Azure.")]
[MaxStringLength("256")]
705: string CloudRole = "ai.cloud.role";
[Description("Name of the instance where the application is running. Computer name for on-premises, instance name for Azure.")]
[MaxStringLength("256")]
715: string CloudRoleInstance = "ai.cloud.roleInstance";
Pour les définitions officielles :
Écrire un initialiseur TelemetryInitializer personnalisé
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
namespace CustomInitializer.Telemetry
{
public class MyTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
{
//set custom role name here
telemetry.Context.Cloud.RoleName = "Custom RoleName";
telemetry.Context.Cloud.RoleInstance = "Custom RoleInstance";
}
}
}
}
Applications ASP.NET : Charger l’initialiseur dans la configuration TelemetryConfiguration active
Dans le fichier ApplicationInsights.config :
<ApplicationInsights>
<TelemetryInitializers>
<!-- Fully qualified type name, assembly name: -->
<Add Type="CustomInitializer.Telemetry.MyTelemetryInitializer, CustomInitializer"/>
...
</TelemetryInitializers>
</ApplicationInsights>
Une autre méthode pour les applications web ASP.NET est d’instancier l’initialiseur dans le code. L’exemple suivant montre le code dans le fichier Global.aspx.cs :
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
protected void Application_Start()
{
// ...
TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
}
Remarque
L’ajout d’un initialiseur en utilisant la propriété ApplicationInsights.config
ou TelemetryConfiguration.Active
n’est pas valide pour les applications ASP.NET Core.
Applications ASP.NET Core : charger un initialiseur dans TelemetryConfiguration
Pour les applications ASP.NET Core, pour ajouter une nouvelle instance TelemetryInitializer
, vous devez l’ajouter au conteneur Injection de dépendances. L'exemple suivant illustre cette approche. Ajoutez ce code dans la méthode ConfigureServices
de votre classe Startup.cs
.
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}
Utiliser des filtres de Cartographie d’application
Les filtres de Cartographie d’application vous aident à réduire le nombre de nœuds et d’arêtes visibles dans votre cartographie. Ces filtres peuvent être utilisés pour réduire l’étendue de la cartographie et montrer une vue plus petite et plus ciblée.
Un moyen rapide de filtrer est d’utiliser l’option Filtrer sur ce nœud dans le menu contextuel de n’importe quel nœud de la cartographie :
Vous pouvez également créer un filtre avec l’option Ajouter un filtre :
Sélectionnez votre type de filtre (nœud ou connecteur) et les paramètres souhaités, puis vérifiez vos choix et appliquez-les à la cartographie actuelle.
Créer des filtres de nœud
Les filtres de nœuds vous permettent de voir uniquement certains nœuds dans la cartographie d’application et de masquer tous les autres nœuds. Vous configurez des paramètres pour rechercher dans la cartographie les valeurs des propriétés de nœuds qui correspondent à une condition. Quand un filtre de nœud supprime un nœud, le filtre supprime également tous les connecteurs et arêtes du nœud.
Un filtre de nœud a trois paramètres à configurer :
Nœuds inclus : types de nœuds à passer en revue dans la cartographie d’application pour vérifier s’ils ont des propriétés correspondantes. Il existe quatre options :
Nœuds, sources et cibles : tous les nœuds qui correspondent aux critères de recherche sont inclus dans la cartographie résultante. Tous les nœuds sources et cibles des nœuds correspondants sont également automatiquement inclus dans la cartographie résultante, même si les sources ou cibles ne répondent pas aux critères de recherche. Les nœuds sources et cibles sont collectivement appelés nœuds connectés.
Nœuds et sources : même comportement que les nœuds, sources et cibles, mais les nœuds cibles ne sont pas automatiquement inclus dans la cartographie résultante.
Nœuds et cibles : même comportement que les nœuds, sources et cibles, mais les nœuds sources ne sont pas automatiquement inclus dans la cartographie résultante.
Nœuds uniquement : tous les nœuds de la cartographie résultante doivent avoir une valeur de propriété qui correspond aux critères de recherche.
Opérateur : type de test conditionnel à effectuer sur les valeurs de propriété de chaque nœud. Il existe quatre options :
contains
: la valeur de propriété du nœud contient la valeur spécifiée dans le paramètre Valeur de recherche.!contains
: la valeur de propriété du nœud ne contient pas la valeur spécifiée dans le paramètre Valeur de recherche.==
: la valeur de propriété du nœud est égale à la valeur spécifiée dans le paramètre Valeur de recherche.!=
: la valeur de propriété du nœud est différente de la valeur spécifiée dans le paramètre Valeur de recherche.
Valeur de recherche : chaîne de texte à utiliser pour le test conditionnel de la valeur de propriété. La liste déroulante du paramètre affiche les valeurs des nœuds existants dans la cartographie d’application. Vous pouvez sélectionner une valeur dans la liste ou créer votre propre valeur. Entrez votre valeur personnalisée dans le champ de paramètre, puis sélectionnez Créer l’option... dans la liste. Par exemple, vous pouvez entrer
test
, puis sélectionner Créer l’option « test » dans la liste.
L’image suivante montre un exemple de filtre appliqué à une cartographie d’application qui affiche 30 jours de données. Le filtre indique à la Cartographie d’application de rechercher les nœuds et les cibles connectées dont les propriétés contiennent le texte « retailapp » :
Les nœuds correspondants et leurs nœuds cibles connectés sont inclus dans la cartographie résultante :
Créer des filtres de connecteur (arête)
Les filtres de connecteur vous permettent de voir uniquement certains nœuds dans la cartographie d’application qui ont des connecteurs spécifiques, et de masquer tous les autres nœuds et connecteurs. Vous configurez des paramètres pour rechercher dans les propriétés des connecteurs de la carte les valeurs qui correspondent à une condition. Quand un nœud n’a aucun connecteur correspondant, le filtre supprime le nœud de la carte.
Un filtre de connecteur a trois paramètres à configurer :
Filtrer les connecteurs par : types de connecteurs à passer en revue dans la cartographie d’application pour vérifier s’ils ont des propriétés correspondantes. Il y a quatre choix. Votre sélection contrôle les options disponibles des deux autres paramètres.
Opérateur : type de test conditionnel à effectuer sur la valeur de chaque connecteur.
Valeur : valeur de comparaison à utiliser pour le test conditionnel de la valeur de propriété. La liste déroulante du paramètre contient les valeurs pertinentes pour la cartographie d’application actuelle. Vous pouvez sélectionner une valeur dans la liste ou créer votre propre valeur. Par exemple, vous pouvez entrer
16
, puis sélectionner Créer l’option « 16 » dans la liste.
Le tableau suivant récapitule les options de configuration en fonction de votre choix pour le paramètre Filter les connecteurs par.
Filtrer les connecteurs par | Description | Paramètre d’opérateur | Paramètre de valeur | Usage |
---|---|---|---|---|
Connecteur d’erreur (en surbrillance rouge) | Recherchez des connecteurs en fonction de leur couleur. La couleur rouge indique que le connecteur est dans un état d’erreur. | == : égal à != : différent de |
Toujours défini sur Erreurs | Affichez uniquement les connecteurs avec des erreurs ou uniquement les connecteurs sans erreurs. |
Taux d’erreur (0 % - 100 %) | Recherchez des connecteurs en fonction de leur taux d’erreur moyen (nombre d’appels ayant échoué divisés par le nombre d’appels total). Cette valeur est exprimée en pourcentage. | >= Supérieur à ou Égal à <= Inférieur à ou Égal à |
La liste déroulante affiche les taux d’erreur moyens pertinents pour les connecteurs actuels dans votre cartographie d’application. Choisissez une valeur dans la liste ou entrez une valeur personnalisée en suivant le processus décrit précédemment. | Affichez les connecteurs avec des taux d’échec supérieurs ou inférieurs à la valeur sélectionnée. |
Durée moyenne des appels (ms) | Recherchez des connecteurs en fonction de la durée moyenne de tous les appels dans le connecteur. La valeur est mesurée en millisecondes. | >= Supérieur à ou Égal à <= Inférieur à ou Égal à |
La liste déroulante affiche les durées moyennes pertinentes pour les connecteurs actuels dans votre cartographie d’application. Par exemple, la valeur 1000 référence les appels avec une durée moyenne de 1 seconde. Choisissez une valeur dans la liste ou entrez une valeur personnalisée en suivant le processus décrit précédemment. |
Affichez les connecteurs avec des durées moyennes d’appels supérieures ou inférieures à la valeur sélectionnée. |
Nombre d’appels | Recherchez des connecteurs en fonction du nombre total d’appels dans le connecteur. | >= Supérieur à ou Égal à <= Inférieur à ou Égal à |
La liste déroulante affiche les nombres totaux d’appels pertinents pour les connecteurs actuels de votre cartographie d’application. Choisissez une valeur dans la liste ou entrez une valeur personnalisée en suivant le processus décrit précédemment. | Affichez les connecteurs avec des nombres d’appels supérieurs ou inférieurs à la valeur sélectionnée. |
Indicateurs de centile pour la valeur
Quand vous filtrez les connecteurs par Taux d’erreur, Durée moyenne des appels ou Nombre d’appels, certaines options du paramètre Valeur incluent la désignation (Pxx)
. Cet indicateur indique le niveau de centile. Pour un filtre Durée moyenne des appels, vous pouvez voir la valeur 200 (P90)
. Cette option signifie que 90 % de tous les connecteurs (quel que soit le nombre d’appels qu’ils représentent) ont une durée d’appel de moins de 200 ms.
Vous pouvez voir les options Valeur qui incluent le niveau de centile en entrant P
dans le champ de paramètre.
Vérifier vos filtres
Après avoir effectué vos sélections, la section Vérifier de la fenêtre contextuelle Ajouter un filtre affiche des descriptions textuelles et visuelles de votre filtre. L’affichage récapitulatif peut vous aider à comprendre comment votre filtre s’applique à votre cartographie d’application.
L’exemple suivant montre le récapitulatif Vérifier d’un filtre de nœud qui recherche des nœuds et des cibles dont les propriétés ont le texte « -west » :
Cet exemple montre le récapitulatif d’un filtre de connecteur qui recherche des connecteurs (et les nœuds qu’ils connectent) dont la durée moyenne des appels est égale ou supérieure à 42 ms :
Appliquer des filtres à la cartographie
Après avoir configuré et vérifié vos paramètres de filtre, sélectionnez Appliquer pour créer le filtre. Vous pouvez appliquer plusieurs filtres à la même cartographie d’application. Dans la Cartographie d’application, les filtres appliqués s’affichent sous forme de pilules au-dessus de la cartographie :
L’action Supprimer sur une pilule de filtre vous permet de supprimer un filtre. Quand vous supprimez un filtre appliqué, la vue cartographique est mise à jour pour retirer la logique de filtre.
La cartographie d’application applique la logique de filtre à votre cartographie de façon séquentielle, en commençant par le filtre le plus à gauche de la liste. Quand les filtres sont appliqués, les nœuds et les connecteurs sont supprimés de la vue cartographique. Dès qu’un nœud ou un connecteur est supprimé de la vue, un filtre ultérieur ne peut pas restaurer l’élément.
Vous pouvez changer la configuration d’un filtre appliqué en sélectionnant la pilule de filtre. Quand vous changez les paramètres de filtre, la Cartographie d’application affiche un aperçu de la vue cartographique avec la nouvelle logique de filtre. Si vous décidez de ne pas appliquer les changements, vous pouvez utiliser l’option Annuler dans la vue et les filtres de la cartographie actuelle.
Explorer et enregistrer des filtres
Quand vous découvrez un filtre intéressant, vous pouvez l’enregistrer pour le réutiliser plus tard avec l’option Copier le lien ou Épingler au tableau de bord :
L’option Copier le lien encode tous les paramètres de filtre actuels dans l’URL copiée. Vous pouvez enregistrer ce lien dans les signets de votre navigateur ou le partager avec d’autres utilisateurs. Cette fonctionnalité conserve la valeur de durée dans les paramètres de filtre, mais pas l’heure absolue. Quand vous utilisez le lien par la suite, la cartographie d’application produite peut différer de la cartographie présente au moment où le lien a été capturé.
L’option Épingler au tableau de bord ajoute la cartographie d’application actuelle à un tableau de bord, avec ses filtres actuels. Une approche de diagnostic courante consiste à épingler une cartographie avec un filtre Connecteur d’erreur appliqué. Vous pouvez monitorer votre application pour voir les nœuds qui ont des erreurs dans leurs appels HTTP.
Les sections suivantes décrivent certains filtres courants qui s’appliquent à la plupart des cartographies et méritent d’être épinglés sur un tableau de bord.
Rechercher les erreurs importantes
Produisez une vue cartographique des connecteurs avec des erreurs uniquement (en surbrillance rouge) au cours des dernières 24 heures. Les filtres incluent le paramètre Connecteur d’erreur combiné à Vue intelligente :
La fonctionnalité Vue intelligente est décrite plus loin dans cet article.
Masquer les connecteurs à faible trafic
Masquez les connecteurs à faible trafic qui n’ont pas d’erreurs dans la vue cartographique, pour pouvoir vous concentrer rapidement sur des problèmes plus importants. Les filtres incluent les connecteurs des dernières 24 heures avec un Nombre d’appels supérieur à 2872 (P20) :
Afficher les connecteurs à trafic élevé
Révélez les connecteurs à trafic élevé qui ont également une durée moyenne d’appels élevée. Ce filtre peut aider à identifier les éventuels problèmes de performances. Les filtres de cet exemple incluent les connecteurs des dernières 24 heures qui ont un Nombre d’appels supérieur à 10854 (P50) et une Durée moyenne des appels supérieure à 578 (P80) :
Rechercher les composants par nom
Recherchez les composants (nœuds et connecteurs) dans votre application par nom en fonction de votre implémentation de la convention de nommage de la propriété roleName
du composant. Vous pouvez utiliser cette approche pour voir la partie spécifique d’une application distribuée. Le filtre recherche les Nœuds, sources et cibles des dernières 24 heures qui contiennent la valeur spécifiée. Dans cet exemple, la valeur de recherche est « west » :
Supprimer les composants bruyants
Définissez des filtres pour masquer les composants bruyants en les supprimant de la cartographie. Parfois, les composants d’application peuvent avoir des nœuds dépendants actifs qui produisent des données non essentielles pour la vue cartographique. Dans cet exemple, le filtre recherche les Nœuds, sources et cibles des dernières 24 heures qui ne contiennent pas la valeur spécifiée « retail » :
Rechercher des connecteurs sujets aux erreurs
Afficher uniquement les connecteurs qui ont des taux d’erreur plus élevés qu’une valeur spécifique. Le filtre de cet exemple recherche les connecteurs au cours des dernières 24 heures qui ont un Taux d’erreur supérieur à 3 % :
Explorer la Vue intelligente
La fonctionnalité Vue intelligente de la Cartographie d’application est conçue pour faciliter les investigations sur l’intégrité du service. Elle applique le Machine Learning pour identifier rapidement les causes racines ou les problèmes potentiels en filtrant le bruit. Le modèle Machine Learning apprend le comportement historique de la Cartographie d’application pour identifier les modèles dominants et les anomalies qui indiquent les causes potentielles d’un incident.
Dans les grandes applications distribuées, il y a toujours un certain degré de bruit lié à des échecs « bénins », ce qui peut entraîner du bruit dans la Cartographie d’application qui affiche alors de nombreuses arêtes rouges. La Vue intelligente affiche uniquement les causes les plus probables d’échec du service et supprime les arêtes rouges entre les nœuds (communication service à service) dans les services sains. La Vue intelligente met en surbrillance en rouge les arêtes qui doivent être investiguées. Elle fournit également des insights actionnables sur les bords en surbrillance.
Il y a de nombreux avantages à utiliser la Vue intelligente :
- Réduit le temps de résolution en mettant en surbrillance uniquement les échecs qui doivent être examinés
- Fournit des insights actionnables sur la raison pour laquelle un certain bord rouge a été mis en surbrillance
- Permet d’utiliser la Cartographie d’application pour les grandes applications distribuées de manière fluide (en se concentrant uniquement sur les arêtes marquées en rouge)
La Vue intelligente a certaines limitations :
- Le chargement des grandes applications distribuées peut prendre une minute.
- Les délais d’exécution allant jusqu’à sept jours sont pris en charge.
Utiliser la Vue intelligente
Un bouton bascule au-dessus de la cartographie d’application vous permet d’activer la Vue intelligente et de contrôler la sensibilité de détection des problèmes :
La Vue intelligente utilise le modèle Machine Learning AIOps breveté pour mettre en surbrillance (en rouge) les données importantes dans une cartographie d’application. Diverses données d’application sont utilisées pour déterminer les données à mettre en surbrillance dans la cartographie, notamment les taux d’échec, le nombre de demandes, les durées, les anomalies et le type de dépendance. En comparaison, la vue cartographique standard utilise uniquement le taux d’échec brut.
La Cartographie d’application met en surbrillance les arêtes en rouge en fonction de votre paramètre de sensibilité. Vous pouvez ajuster la sensibilité pour obtenir le niveau de confiance souhaité dans les arêtes mises en surbrillance.
Sensibilité | Description |
---|---|
Activité | Moins d’arêtes sont mises en surbrillance. |
Moyenne | (Paramètre par défaut) Un nombre équilibré d’arêtes est mis en surbrillance. |
Faible | Plus d’arêtes sont mises en surbrillance. |
Vérifier les insights exploitables
Après avoir activé la Vue intelligente, sélectionnez une arête en surbrillance (en rouge) dans la cartographie pour voir les « insights exploitables » du composant. Les insights s’affichent dans un volet à droite et expliquent pourquoi l’arête est mise en surbrillance.
Pour commencer la résolution d’un problème, sélectionnez Investiguer les échecs. Vous pouvez consulter les informations du composant dans le volet Échecs pour déterminer si le problème détecté est la cause racine.
Quand la Vue intelligente ne met pas en surbrillance d’arêtes dans la cartographie d’application, c’est que le modèle Machine Learning n’a pas trouvé d’incidents potentiels dans les dépendances de votre application.
Conseils de dépannage
Si la Cartographie d’application ne fonctionne pas comme prévu, passez en revue les suggestions des sections suivantes.
Voici quelques recommandations générales :
Utilisez un SDK officiellement pris en charge. Les Kits de développement logiciel (SDK) non pris en charge ou de la communauté ne prennent pas forcément en charge la corrélation. Pour obtenir la liste des Kits de développement logiciel (SDK) pris en charge, consultez Application Insights : langages, plateformes et intégrations.
Mettez à niveau tous les composants avec la dernière version du SDK.
Prenez en charge Azure Functions avec C# en passant à Azure Functions V2.
Vérifiez que le nom de rôle cloud est correctement configuré.
Vérifiez que les dépendances manquantes sont listées comme dépendances collectées automatiquement. Si une dépendance n’est pas listée, vous pouvez la suivre manuellement avec un appel de suivi des dépendances.
Nœuds trop nombreux dans la cartographie
La Cartographie d’application ajoute un nœud de composant pour chaque nom de rôle de cloud unique dans la télémétrie de votre demande. Le processus ajoute également un nœud de dépendance pour chaque combinaison unique de type, cible et nom de rôle cloud.
Si vous avez plus de 10 000 nœuds dans votre télémétrie, la Cartographie d’application ne peut pas récupérer tous les nœuds et les liens. Dans ce scénario, votre structure de cartographie est incomplète. Si ce scénario se produit, un message d’avertissement apparaît lorsque vous affichez la carte.
La Cartographie d’application peut afficher un maximum de 1 000 nœuds distincts dégroupés à la fois. La Cartographie d’application réduit la complexité visuelle en regroupant les dépendances qui ont le même type et les mêmes appelants.
Si votre télémétrie a trop de noms de rôle cloud uniques ou trop de types de dépendance, le regroupement est insuffisant et la cartographie n’est pas affichée.
Pour remédier à ce problème, vous devez changer votre instrumentation afin de bien définir les champs du nom de rôle cloud, du type de dépendance et de la cible de dépendance. Vérifiez que votre application respecte les critères suivants :
Chaque cible de dépendance représente le nom logique d’une dépendance. Dans la plupart des cas, cette valeur correspond au nom du serveur ou de la ressource de la dépendance. Par exemple, si vous avez des dépendances HTTP, la valeur est le nom d’hôte. La valeur ne doit pas contenir d'ID uniques ou de paramètres qui changent d'une demande à une autre.
Chaque type de dépendance représente le type logique d’une dépendance. Par exemple, HTTP, SQL ou Objet Blob Azure sont des types de dépendances classiques. Cette valeur ne doit pas contenir d'ID uniques.
L’objectif de chaque nom de rôle cloud applique la description de la section Définir ou remplacer le nom de rôle cloud.
Vue intelligente : arête non mise en surbrillance
La Vue intelligente peut ne pas mettre en surbrillance une arête comme prévu, même avec un paramètre de faible sensibilité. Une dépendance peut sembler échouer, mais le modèle n’indique pas qu’il s’agit d’un incident potentiel. Voici quelques scénarios possibles :
Si la dépendance échoue de manière générale, le modèle peut considérer qu’il s’agit de l’échec d’un état standard du composant et ne pas mettre en surbrillance l’arête. La Vue intelligente se concentre sur la résolution des problèmes en temps réel.
Si la dépendance a un effet minimal sur les performances générales de l’application, la Vue intelligente peut ignorer le composant pendant la modélisation Machine Learning.
Si votre scénario est unique, vous pouvez utiliser l’option Commentaires pour décrire votre expérience et contribuer à l’amélioration des futures versions du modèle.
Vue intelligente : arête mise en surbrillance
Quand la Vue intelligente met en évidence une arête, les insights exploitables du modèle Machine Learning doivent identifier les problèmes importants qui contribuent au score de probabilité élevé. N’oubliez pas que la recommandation n’est pas basée uniquement sur les échecs, mais sur d’autres indicateurs comme une latence inattendue dans les flux dominants.
Vue intelligente : ne se charge pas
Si la vue intelligente ne se charge pas, définissez l’intervalle de temps de six jours ou moins.
Vue intelligente : temps de chargement long
Si le chargement de la Vue intelligente prend plus de temps que prévu, évitez de sélectionner l’option Mettre à jour les composants de la cartographie. Activez la vue intelligente uniquement pour une seule ressource Application Insights.
Contenu connexe
Découvrez comment fonctionne la corrélation dans Application Insights avec la Mise en corrélation des données de télémétrie.
Explorez l’expérience de diagnostic de transaction de bout en bout qui met en corrélation dans une seule vue les données de télémétrie côté serveur de tous vos composants monitorés par Application Insights.
Prenez en charge les scénarios de corrélation avancés dans ASP.NET Core et ASP.NET avec Effectuer le suivi des opérations personnalisées.