Utilisation du tableau de bord .NET Aspire
Une fois que vous avez enregistré des données de télémétrie, vous avez besoin d’un moyen de les examiner. Avec .NET Aspire, le tableau de bord fournit des outils complets pour examiner les données de télémétrie et diagnostiquer les problèmes.
Imaginez que vous travaillez pour un détaillant d’équipements extérieurs. Vous utilisez OpenTelemetry dans votre application native Cloud .NET Aspire. Vous souhaitez maintenant examiner les données émises par la télémétrie pour décider si vous pouvez l’utiliser pour améliorer les performances.
Dans cette leçon, vous verrez comment le tableau de bord .NET Aspire affiche les données de télémétrie.
Télémétrie dans le tableau de bord .NET Aspire
Lorsque vous démarrez une application créée avec .NET Aspire sur votre ordinateur de développement et les conteneurs qui exécutent chaque composant, .NET démarre le tableau de bord .NET Aspire. Cette interface web comporte cinq sections, dont quatre affichent les données de télémétrie :
- Ressources : Répertorie les conteneurs, les projets et les exécutables qui composent l’ensemble de votre application native Cloud. Utilisez les liens dans la colonne Points de terminaison pour vous connecter à chaque microservice.
- Console : Affiche le texte envoyé à la sortie standard du composant que vous spécifiez.
- Journaux structurés : Affiche les informations envoyées aux enregistreurs d’événements OpenTelemetry.
- Traces : Affiche une trace pour chaque requête reçue par n’importe quel microservice dans l’application.
- Métriques : Affiche les graphiques de domaine de temps configurables qui montrent comment les métriques que vous choisissez varient.
Journaux dans le tableau de bord
Les événements consignés décrivent ce qui se passe à mesure que votre application démarre et s’exécute. Vous pouvez voir deux types d’informations journalisées dans le tableau de bord : les journaux de console et structurés.
Journaux de console
Les journaux de console affichent le texte envoyé par votre application à la sortie standard. Un programme de ligne de commande affiche du texte tel que des lignes dans la console, mais les microservices et les services de soutien n’ont aucun emplacement intrinsèque pour afficher la sortie standard. .NET Aspire vous aide à fournir la page Journaux de la console dans le tableau de bord.
Lorsque vous ouvrez la page, vous devez d’abord sélectionner un composant source, tel que l’un de vos microservices. L’outil affiche toutes les sorties standard de cette source dans la fenêtre principale avec une mise en forme. Par exemple, les événements d’informations sont affichés en vert, tandis que les échecs sont affichés en rouge.
Les journaux de console sont simplement des lignes de texte. Ils sont faciles à créer et émettre, mais ils sont difficiles à lire pour les humains et difficiles à traiter à des fins d’analyse, car ils manquent de structure.
Les journaux structurés
Au lieu de texte plat, les journaux structurés conservent les messages consignés avec leurs paramètres de modèle et de message. Cette structure facilite le filtrage des événements qui ne sont pas pertinents pour vous permettre de résoudre un problème spécifique. Dans un environnement de production, les journaux peuvent être conservés, indexés, puis interrogés comme une base de données. De cette façon, vous pouvez effectuer des analyses enrichies sur les données qu’ils contiennent.
Remarque
Les journaux structurés sont également souvent appelés journaux sémantiques.
Dans votre code, envoyez un événement aux journaux structurés à l’aide d’un objet OpenTelemetry ILogger
:
logger.Info("{shopitem} added to basket by {user}", "Ski goggles", "Kenny");
Dans le tableau de bord .NET, la page Journaux structurés affiche les événements de chaque ressource de votre application. Pour descendre en détail, sélectionnez la ressource que vous résolvez et utilisez les zones Filtre et Niveau pour afficher uniquement les événements pertinents.
Traces distribuées dans le tableau de bord
Une trace est un enregistrement qui décrit comment une requête a été traitée et retournée à l’appelant. Chaque trace peut impliquer des appels à plusieurs composants dans votre application. Par exemple, lorsqu’un utilisateur demande la page web du catalogue de produits, le microservice d’interface utilisateur web peut recevoir la requête, qui peut appeler le microservice d’authentification, le microservice catalogue et le cache Redis, avant de renvoyer une page web à l’utilisateur.
Chaque trace est composée d’étendues, telles que l’appel au microservice de catalogue. Le système enregistre chaque étendue avec ses informations de minutage et de parent, afin que vous puissiez voir quel composant répond rapidement et lequel provoque des retards. Des détails supplémentaires sont disponibles pour chaque étendue.
Comme pour les journaux structurés, vous pouvez sélectionner la source et appliquer des filtres pour explorer et localiser des traces pour le problème spécifique que vous souhaitez diagnostiquer.
Métriques dans le tableau de bord
Les métriques sont des valeurs qui varient au fil du temps, enregistrées par un composant de votre application. Par exemple, les métriques peuvent enregistrer la durée d’une requête et d’une réponse ou le nombre des connexions actives à votre microservice de catalogue. Certaines métriques sont intégrées à .NET, certaines sont fournies avec les bibliothèques du Kit de développement logiciel (SDK) OpenTelemetry, et les développeurs peuvent ajouter des métriques OpenTelemetry personnalisées uniques à leur composant.
Le tableau de bord .NET Aspire comprend la section Métriques, que vous pouvez utiliser pour examiner et afficher la façon dont les métriques varient au fil du temps.
Par exemple, la métrique http.server.active_requests affiche le nombre de requêtes en cours de traitement à un moment donné :
La métrique http.server.request.duration affiche la réactivité de l’application à un moment donné :
Sous chaque graphique, vous pouvez spécifier des filtres pour cibler le graphique. Par exemple, ce graphique montre la métrique de durée de la requête pour les demandes adressées à l’itinéraire de la page d’accueil :