Bibliothèque cliente de l’exportateur Azure Monitor pour .NET - version 1.0.0
Les exportateurs OpenTelemetry .NET qui envoient des données de télémétrie à Azure Monitor en suivant la spécification OpenTelemetry.
Prise en main
Prérequis
- Abonnement Azure : Pour utiliser les services Azure, notamment Azure Monitor Exporter pour OpenTelemetry .NET, vous avez besoin d’un abonnement. Si vous n’avez pas de compte Azure existant, vous pouvez vous inscrire à un essai gratuit ou utiliser les avantages de votre abonnement Visual Studio lorsque vous créez un compte.
- Azure Application Chaîne de connexion Insights : pour envoyer des données de télémétrie au service de surveillance, vous aurez besoin d’une chaîne de connexion à partir de Azure Application Insights. Si vous n’êtes pas familiarisé avec la création de ressources Azure, vous pouvez suivre le guide pas à pas pour créer une ressource Application Insights et copier la chaîne de connexion.
Installer le package
Dernière version :
Installez l’exportateur Azure Monitor pour OpenTelemetry .NET avec NuGet :
dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Builds nocturnes
Les builds nocturnes sont disponibles à partir du flux de développement de ce dépôt. Ils sont fournis sans prise en charge et ne sont pas destinés aux charges de travail de production.
Ajouter l’exportateur
Les exemples suivants montrent comment ajouter le AzureMonitorExporter
à votre configuration OpenTelemetry.
Traces
Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") .Build();
Pour obtenir un exemple complet, consultez TraceDemo.cs.
Mesures
Sdk.CreateMeterProviderBuilder() .AddAzureMonitorMetricExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") .Build();
Pour obtenir un exemple complet, consultez MetricDemo.cs.
Journaux d’activité
LoggerFactory.Create(builder => { builder.AddOpenTelemetry(options => { options.AddAzureMonitorLogExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"); }); });
Pour obtenir un exemple complet, consultez LogDemo.cs.
Authentifier le client
L’authentification Azure Active Directory (AAD) est une fonctionnalité facultative qui peut être utilisée avec l’exportateur Azure Monitor. Cela est simplifié avec la bibliothèque Azure Identity, qui prend en charge l’authentification des clients du KIT de développement logiciel (SDK) Azure avec leurs services Azure correspondants.
Il existe deux options pour activer l’authentification AAD. Notez que si les deux ont été définis, AzureMonitorExporterOptions sera prioritaire.
Définissez votre
Credential
surAzureMonitorExporterOptions
.var credential = new DefaultAzureCredential(); Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => { o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"; o.Credential = credential; }) .Build();
Fournissez votre
Credential
à la méthode AddAzureMonitorExporter.var credential = new DefaultAzureCredential(); Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000", credential) .Build();
Concepts clés
Voici quelques concepts clés pour .NET :
Vue d’ensemble du suivi distribué .NET : le suivi distribué est une technique de diagnostic qui aide les ingénieurs à localiser les défaillances et les problèmes de performances au sein des applications, en particulier ceux qui peuvent être distribués sur plusieurs machines ou processus.
Vue d’ensemble de la journalisation dans .NET : .NET prend en charge une API de journalisation qui fonctionne avec divers fournisseurs de journalisation intégrés et tiers.
Voici quelques concepts clés pour Azure Monitor :
- Adresses IP utilisées par Azure Monitor : cet exportateur envoie des traces à la ressource Azure Monitor configurée à l’aide de HTTPS. Vous devrez peut-être connaître ces adresses IP si l’application ou l’infrastructure que vous supervisez est hébergée derrière un pare-feu.
Voici quelques concepts clés pour OpenTelemetry :
OpenTelemetry : OpenTelemetry est un ensemble de bibliothèques utilisées pour collecter et exporter des données de télémétrie (métriques, journaux et traces) à des fins d’analyse afin de comprendre les performances et le comportement de votre logiciel.
Instrumentation : la possibilité d’appeler l’API OpenTelemetry directement par n’importe quelle application est facilitée par l’instrumentation. Une bibliothèque qui active l’observabilité OpenTelemetry pour une autre bibliothèque est appelée bibliothèque d’instrumentation.
Signal de suivi : la trace fait référence au suivi distribué. Il peut être considéré comme un graphe acyclique dirigé (DAG) de Spans, où les arêtes entre les étendues sont définies comme une relation parent/enfant.
Échantillonnage : L’échantillonnage est un mécanisme permettant de contrôler le bruit et la surcharge introduits par OpenTelemetry en réduisant le nombre d’échantillons de traces collectées et envoyées au back-end.
Signal de métrique : OpenTelemetry permet d’enregistrer des mesures brutes ou des métriques avec une agrégation prédéfinie et un ensemble d’attributs (dimensions).
Signal de journal : enregistrement d’un événement. En règle générale, l’enregistrement inclut un horodatage indiquant quand l’événement s’est produit, ainsi que d’autres données décrivant ce qui s’est passé, l’endroit où il s’est produit, etc.
Pour plus d’informations sur le projet OpenTelemetry, consultez les spécifications OpenTelemetry.
Exemples
Reportez-vous à pour Program.cs
une démonstration complète.
Dépannage
Azure Monitor Exporter utilise EventSource pour sa propre journalisation interne. Les journaux de l’outil d’exportation sont disponibles pour n’importe quel EventListener en vous abonnant à la source nommée « OpenTelemetry-AzureMonitor-Exporter ».
OpenTelemetry fournit également sa propre fonctionnalité auto-diagnostics pour collecter les journaux internes. Un exemple de ceci est disponible dans notre projet de démonstration ici.
Étapes suivantes
Pour plus d’informations sur le Kit de développement logiciel (SDK) Azure, consultez ce site web.
Contribution
Pour plus d’informations sur le processus de contribution , consultez CONTRIBUTING.md .