Utilisation d’OpenTelemetry dans .NET Aspire

Effectué

.NET Aspire vous aide à enregistrer le comportement d’une application native cloud en incluant automatiquement la prise en charge d’OpenTelemetry lorsque vous créez un projet .NET Aspire.

Imaginez que vous travaillez pour un détaillant d’équipements extérieurs. Vous avez décidé d’enregistrer les données de télémétrie. Vous souhaitez maintenant savoir comment .NET Aspire aide à la télémétrie.

Dans cette unité, vous allez découvrir l’intégration entre les API .NET Aspire et OpenTelemetry.

.NET Aspire et OpenTelemetry

Un objectif principal dans la conception et l’implémentation de .NET Aspire est de s’assurer que les applications natives cloud sont faciles à surveiller et à dépanner. .NET Aspire simplifie la vérification que l’application complète est observable et entièrement instrumentée à l’aide des API OpenTelemetry et la configuration automatique des sources de données de télémétrie chaque fois que vous créez une application à partir de modèles ou ajoutez une application existante à l’orchestration .NET Aspire.

Les composants .NET Aspire ont également une prise en charge intégrée de la télémétrie.

.NET Aspire fournit le tableau de bord .NET Aspire lorsque vous déboguez localement. Cette interface web comprend des outils enrichis qui affichent les journaux, les métriques dans des formats graphiques et les traces dans des chronologies.

Capture d’écran montrant la page Traces dans le tableau de bord .NET Aspire.

Configuration d’OpenTelemetry dans .NET Aspire

Le code qui ajoute et configure OpenTelemetry dans une solution .NET Aspire se trouve dans le projet ServiceDefaults. Dans le fichier Extensions.cs, vous trouverez :

  • La méthode ConfigureOpenTelemetry(), qui ajoute des services de journalisation, de métriques et de suivi.
  • La méthode AddOpenTelemetryExporters(), qui ajoute des exportateurs OTLP (OpenTelemetry Protocol).
  • La méthode AddBuiltInMeters(), qui ajoute toutes les métriques intégrées à .NET.

Sauf si vous souhaitez ajouter d’autres exportateurs ou métriques, vous pouvez laisser ce code tel quel.

Vous devez étendre ce code lorsque vous souhaitez :

  • Ajouter des sources supplémentaires de métriques ou de données de suivi distribué, telles que des métriques personnalisées.
  • Ajouter des exportateurs pour envoyer des données de télémétrie à un système APM (Application Performance Management) tel qu’Application Insights ou Grafana.

Exporter des données de télémétrie

OpenTelemetry peut exporter les données qu’il enregistre vers différents outils. Vous pouvez donc choisir celui qui prend en charge l’analyse dont vous avez besoin.

Les destinations courantes d’exportation de télémétrie sont les suivantes :

  • Le tableau de bord Aspire. Vous allez découvrir les tableaux de bord plus en détail ultérieurement dans ce module.
  • D’autres outils APM (Application Performance Management) tels que Prometheus et Grafana.
  • Azure Application Insights. Cette fonctionnalité d’Azure Monitor peut analyser et afficher des données de comportement à partir de nombreuses sources, à la fois dans Azure et à partir d’autres sources, telles que des applications natives cloud.

En savoir plus