Partager via


télémétrie .NET.NET Aspire

L’un des principaux objectifs de .NET.NET Aspire est de s’assurer que les applications sont simples à déboguer et diagnostiquer. Les intégrations .NET.NET Aspire configurent automatiquement les paramètres de journalisation, de suivi et de métriques, parfois appelés piliers de l’observabilité, à l’aide du kit de développement logiciel (SDK) .NETOpenTelemetry.

  • enregistrement des journaux: les événements de journalisation décrivent ce qui se passe pendant l'exécution d'une application. Un ensemble de bases de référence est activé pour .NET.NET Aspire intégrations par défaut et une journalisation plus étendue peut être activée à la demande pour diagnostiquer des problèmes particuliers.

  • Traçage: Les traces corrèlent les événements de journal qui font partie de la même activité logique (par exemple, la gestion d’une requête unique), même si elles sont réparties sur plusieurs ordinateurs ou processus.

  • Métriques: les métriques exposent les caractéristiques de performances et d’intégrité d’une application sous forme de valeurs numériques simples. Par conséquent, ils ont un faible impact sur les performances et de nombreux services les configurent comme télémétrie toujours activée. Cela leur permet également de déclencher des alertes lorsque des problèmes potentiels sont détectés.

Ensemble, ces types de données de télémétrie vous permettent d’obtenir des insights sur le comportement et les performances de votre application à l’aide de différents outils de supervision et d’analyse. Selon le service de stockage, certaines intégrations peuvent uniquement prendre en charge certaines de ces fonctionnalités.

intégration de .NET AspireOpenTelemetry

Le sdk .NETOpenTelemetry inclut des fonctionnalités permettant de collecter des données à partir de plusieurs API .NET, notamment ILogger, Activity, Meteret Instrument<T>. Ces API correspondent aux fonctionnalités de télémétrie telles que la journalisation, le suivi et les métriques. .NET Aspire projets définissent les configurations OpenTelemetry SDK dans le projet ServiceDefaults. Pour plus d'informations, consultez les paramètres .NET.NET Aspire par défaut du service.

Par défaut, la méthode ConfigureOpenTelemetry active la journalisation, le suivi et les métriques de l’application. Il ajoute également des exportateurs pour ces points de données afin qu’ils puissent être collectés par d’autres outils de surveillance.

Exporter des données OpenTelemetry pour la surveillance

Le sdk .NETOpenTelemetry facilite l’exportation de ces données de télémétrie vers un magasin de données ou un outil de création de rapports. Le mécanisme d’exportation des données de télémétrie s’appuie sur lede protocole (OTLP), qui sert d’approche standardisée pour transmettre des données de télémétrie via ou gRPC. La méthode ConfigureOpenTelemetry enregistre également les exportateurs pour qu'ils puissent fournir les données de télémétrie à d’autres outils de surveillance, tels que Prometheus ou Azure Monitor. Pour plus d’informations, consultez OpenTelemetry configuration.

variables d’environnement OpenTelemetry

OpenTelemetry a une liste des variables d’environnement connues qui configurent le comportement le plus important pour collecter et exporter des données de télémétrie. OpenTelemetry sdk, y compris le SDK .NET, prennent en charge la lecture de ces variables.

Les projets .NET Aspire démarrent à l'aide de variables d'environnement qui configurent le nom et l'ID de l'application dans la télémétrie exportée et définissent l'adresse du point de terminaison OTLP server pour exporter les données. Par exemple:

  • OTEL_SERVICE_NAME = myfrontend
  • OTEL_RESOURCE_ATTRIBUTES = service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168
  • OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:4318

Les variables d’environnement sont automatiquement définies dans le développement local.

.NET .NET Aspire développement local

Lorsque vous créez un projet .NET Aspire, le tableau de bord .NET Aspire fournit une interface utilisateur permettant d’afficher les données de télémétrie des applications par défaut. Les données de télémétrie sont envoyées au tableau de bord à l’aide d’OTLP, et le tableau de bord implémente un server OTLP pour recevoir des données de télémétrie et les stocker en mémoire. Le flux de travail de débogage .NET.NET Aspire est le suivant :

  • Le développeur démarre le projet .NET.NET Aspire avec le débogage, appuie sur F5.
  • .NET .NET Aspire démarrage du tableau de bord et du plan de contrôle du développeur (DCP).
  • La configuration d’application est exécutée dans le projet AppHost .
    • OpenTelemetry variables d’environnement sont automatiquement ajoutées aux projets .NET pendant la configuration de l’application.
    • DCP fournit le nom (OTEL_SERVICE_NAME) et l’ID (OTEL_RESOURCE_ATTRIBUTES) de l’application dans les données de télémétrie exportées.
    • Le point de terminaison OTLP est un port HTTP/2 démarré par le tableau de bord. Ce point de terminaison est défini dans la variable d’environnement OTEL_EXPORTER_OTLP_ENDPOINT sur chaque projet. Cela indique aux projets d’exporter les données de télémétrie vers le tableau de bord.
    • Petits intervalles d’exportation (OTEL_BSP_SCHEDULE_DELAY, OTEL_BLRP_SCHEDULE_DELAY, OTEL_METRIC_EXPORT_INTERVAL) afin que les données soient rapidement disponibles dans le tableau de bord. Les petites valeurs sont utilisées dans le développement local pour hiérarchiser la réactivité du tableau de bord par rapport à l’efficacité.
  • Le DCP démarre les projets, conteneurs et exécutables configurés.
  • Une fois démarrées, les applications envoient des données de télémétrie au tableau de bord.
  • Le tableau de bord affiche des données de télémétrie en temps quasi réel de tous les projets .NET.NET Aspire.

Toutes ces étapes se produisent en interne. Dans la plupart des cas, le développeur doit simplement exécuter l’application pour voir ce processus en action.

déploiement .NET.NET Aspire

Les environnements de déploiement .NET Aspire doivent configurer les variables d'environnement OpenTelemetry qui sont adaptées à leur contexte. Par exemple, OTEL_EXPORTER_OTLP_ENDPOINT doit être configuré sur le collecteur OTLP local de l’environnement ou le service de surveillance.

.NET .NET Aspire la télémétrie fonctionne le mieux dans les environnements qui prennent en charge l'OTLP. L’exportation OTLP est désactivée si OTEL_EXPORTER_OTLP_ENDPOINT n’est pas configuré.

Pour plus d'informations, consultez les déploiements .NET.NET Aspire.