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 :

Capture d’écran montrant le chargement initial d’une cartographie d’application dans le portail Azure.

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 :

Capture d’écran montrant comment mettre à jour les composants actuels dans une cartographie d’application.

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é :

Capture d’écran montrant comment voir les détails d’un nœud sélectionné dans une cartographie d’application.

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 :

Capture d’écran montrant comment sélectionner l’option Investiguer les échecs dans le volet d’informations du nœud.

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é :

Capture d’écran montrant la vue Échecs pour un 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 :

Capture d’écran montrant comment sélectionner l’option Investiguer les performances dans le volet d’informations du nœud.

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é :

Capture d’écran montrant la vue Performances pour un 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 :

Capture d’écran montrant comment sélectionner l’option Accéder aux détails dans le volet d’informations du nœud.

La page s’ouvre sur la vue Chronologie pour plus d’informations :

Capture d’écran montrant la vue Détails pour un composant sélectionné.

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 :

Capture d’écran montrant la vue Toutes les traces et tous les événements pour un composant sélectionné.

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) :

Capture d’écran montrant comment sélectionner l’option Voir dans les journaux (Analytics) dans le volet d’informations du nœud.

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 :

Capture d’écran montrant l’écran Journaux avec un graphique linéaire résumant la durée de réponse moyenne d’une requête sur les 12 dernières heures.

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 :

Capture d’écran montrant comment sélectionner l’option Voir les alertes dans le volet d’informations du nœud.

La page Alertes affiche les alertes critiques et déclenchées :

Capture d’écran montrant la liste des alertes pour le composant sélectionné.

L’option Règles d’alerte dans la page Alertes affiche les règles sous-jacentes qui provoquent le déclenchement des alertes :

Capture d’écran montrant la liste des règles d’alerte pour le composant sélectionné.

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.

Capture d’écran montrant une cartographie d’application avec plusieurs nœuds et différentes couleurs de surbrillance.

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 et retailapp.

  • 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 :

Capture d’écran montrant comment filtrer sur le nœud sélectionné dans une cartographie d’application.

Vous pouvez également créer un filtre avec l’option Ajouter un filtre :

Capture d’écran montrant comment ouvrir l’option Ajouter un filtre dans une cartographie d’application.

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 » :

Capture d’écran montrant comment configurer un filtre de nœud pour rechercher le texte « retailapp ».

Les nœuds correspondants et leurs nœuds cibles connectés sont inclus dans la cartographie résultante :

Capture d’écran montrant la cartographie résultante avec les nœuds et les nœuds cibles qui correspondent au filtre de nœud.

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 » :

Capture d’écran montrant la section Vérifier avec des informations sur le filtre de nœud configuré.

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 :

Capture d’écran montrant la section Vérifier avec des informations sur le filtre de connecteur configuré.

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 :

Capture d’écran montrant les pilules de filtre au-dessus de la cartographie d’application.

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.

Capture d’écran de l’aperçu de la vue cartographique montrant les paramètres de filtre mis à jour.

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 :

Capture d’écran montrant les deux options permettant de réutiliser des filtres dans la Cartographie d’application.

  • 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 :

Capture d’écran des filtres pour afficher uniquement les erreurs mises en surbrillance en rouge au cours des dernières 24 heures, et la Vue intelligente activée.

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) :

Capture d’écran des filtres pour afficher uniquement les erreurs mises en surbrillance en rouge au cours des dernières 24 heures pour les connecteurs dont le nombre d’appels est supérieur à 2872.

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) :

Capture d’écran des filtres pour afficher 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 ms.

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 » :

Capture d’écran des filtres pour afficher les nœuds et les connecteurs au cours des dernières 24 heures dont les propriétés incluent le terme 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 » :

Capture d’écran des filtres pour afficher les nœuds et les connecteurs au cours des dernières 24 heures dont les propriétés n’incluent pas le terme 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 % :

Capture d’écran des filtres pour afficher les connecteurs au cours des dernières 24 heures dont le taux d’erreur est 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 :

Capture d’écran montrant comment activer la Vue intelligente pour la cartographie d’application et contrôler la sensibilité de la détection.

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.

Capture d’écran montrant les insights exploitables de l’arête sélectionnée dans la cartographie d’application.

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 :

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.