Azure Monitor Exporter-Clientbibliothek für .NET – Version 1.0.0
Die OpenTelemetry .NET-Exporter, die Telemetriedaten gemäß der OpenTelemetry-Spezifikation an Azure Monitor senden.
Erste Schritte
Voraussetzungen
- Azure-Abonnement: Zum Verwenden von Azure-Diensten, einschließlich Azure Monitor Exporter for OpenTelemetry .NET, benötigen Sie ein Abonnement. Wenn Sie nicht über ein vorhandenes Azure-Konto verfügen, können Sie sich für eine kostenlose Testversion registrieren oder ihre Visual Studio-Abonnementvorteile beim Erstellen eines Kontos nutzen.
- Azure-Anwendung Insights-Verbindungszeichenfolge: Zum Senden von Telemetriedaten an den Überwachungsdienst benötigen Sie eine Verbindungszeichenfolge aus Azure-Anwendung Insights. Wenn Sie mit dem Erstellen von Azure-Ressourcen nicht vertraut sind, können Sie die schrittweise Anleitung zum Erstellen einer Application Insights-Ressource befolgen und die Verbindungszeichenfolge kopieren.
Installieren des Pakets
Neueste Version:
Installieren Sie den Azure Monitor Exporter for OpenTelemetry .NET mit NuGet:
dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Nightly Builds
Nightly Builds sind im Dev-Feed dieses Repositorys verfügbar. Diese werden ohne Unterstützung bereitgestellt und sind nicht für Produktionsworkloads vorgesehen.
Hinzufügen des Exporters
In den folgenden Beispielen wird veranschaulicht, wie Sie Ihrer OpenTelemetry-Konfiguration hinzufügen AzureMonitorExporter
.
Traces
Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") .Build();
Ein vollständiges Beispiel finden Sie unter TraceDemo.cs.
Metriken
Sdk.CreateMeterProviderBuilder() .AddAzureMonitorMetricExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") .Build();
Ein vollständiges Beispiel finden Sie unter MetricDemo.cs.
Protokolle
LoggerFactory.Create(builder => { builder.AddOpenTelemetry(options => { options.AddAzureMonitorLogExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"); }); });
Ein vollständiges Beispiel finden Sie unter LogDemo.cs.
Authentifizieren des Clients
Die Azure Active Directory-Authentifizierung (AAD) ist ein optionales Feature, das mit dem Azure Monitor Exporter verwendet werden kann. Dies wird mit der Azure Identity-Bibliothek vereinfacht, die Unterstützung für die Authentifizierung von Azure SDK-Clients mit ihren entsprechenden Azure-Diensten bietet.
Es gibt zwei Optionen zum Aktivieren der AAD-Authentifizierung. Beachten Sie, dass AzureMonitorExporterOptions Vorrang hat, wenn beide festgelegt wurden.
Legen Sie für
Credential
auf festAzureMonitorExporterOptions
.var credential = new DefaultAzureCredential(); Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => { o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"; o.Credential = credential; }) .Build();
Geben Sie für
Credential
die AddAzureMonitorExporter-Methode an.var credential = new DefaultAzureCredential(); Sdk.CreateTracerProviderBuilder() .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000", credential) .Build();
Wichtige Begriffe
Zu den wichtigsten Konzepten für .NET gehören:
Übersicht über die verteilte .NET-Ablaufverfolgung: Die verteilte Ablaufverfolgung ist ein Diagnoseverfahren, mit dem Techniker Fehler und Leistungsprobleme in Anwendungen lokalisieren können, insbesondere solche, die auf mehrere Computer oder Prozesse verteilt sind.
Übersicht über die Protokollierung in .NET: .NET unterstützt eine Protokollierungs-API, die mit einer Vielzahl von integrierten Protokollierungsanbietern und Drittanbietern funktioniert.
Zu den wichtigsten Konzepten für Azure Monitor gehören:
- VON Azure Monitor verwendete IP-Adressen: Dieser Exporter sendet Ablaufverfolgungen mithilfe von HTTPS an die konfigurierte Azure Monitor-Ressource. Wenn die zu überwachende App oder Infrastruktur hinter einer Firewall gehostet wird, müssen Ihnen ggf. IP-Adressen bekannt sein.
Zu den wichtigsten Konzepten für OpenTelemetry gehören:
OpenTelemetry: OpenTelemetry ist eine Reihe von Bibliotheken, die zum Sammeln und Exportieren von Telemetriedaten (Metriken, Protokolle und Ablaufverfolgungen) für die Analyse verwendet werden, um die Leistung und das Verhalten Ihrer Software zu verstehen.
Instrumentierung: Die Möglichkeit, die OpenTelemetry-API direkt von jeder Anwendung aufzurufen, wird durch Instrumentierung erleichtert. Eine Bibliothek, die OpenTelemetry-Beobachtbarkeit für eine andere Bibliothek ermöglicht, wird als Instrumentierungsbibliothek bezeichnet.
Ablaufverfolgungssignal: Trace bezieht sich auf die verteilte Ablaufverfolgung. Es kann als ein gerichtetes azyklisches Diagramm (DAG) von Spans betrachtet werden, bei dem die Kanten zwischen Spans als übergeordnete/untergeordnete Beziehung definiert werden.
Sampling: Sampling ist ein Mechanismus zum Steuern des Rauschens und des Mehraufwands, der von OpenTelemetry eingeführt wird, indem die Anzahl der Stichproben der gesammelten und an das Back-End gesendeten Ablaufverfolgungen reduziert wird.
Metriksignal: OpenTelemetry ermöglicht das Aufzeichnen von Rohmessungen oder Metriken mit vordefinierter Aggregation und einer Reihe von Attributen (Dimensionen).
Protokollsignal: Eine Aufzeichnung eines Ereignisses. In der Regel enthält der Datensatz einen Zeitstempel, der angibt, wann das Ereignis aufgetreten ist, sowie andere Daten, die beschreiben, was passiert ist, wo es passiert ist usw.
Weitere Informationen zum OpenTelemetry-Projekt finden Sie in den OpenTelemetry-Spezifikationen.
Beispiele
Eine vollständige Demo finden Sie unter Program.cs
.
Problembehandlung
Azure Monitor Exporter verwendet EventSource für die eigene interne Protokollierung. Die Exporter-Protokolle sind für alle EventListener verfügbar, indem sie die Quelle namens „OpenTelemetry-AzureMonitor-Exporter“ abonnieren.
OpenTelemetry bietet auch ein eigenes Selbst-Diagnose-Feature zum Sammeln interner Protokolle. Ein Beispiel hierfür finden Sie in unserem Demoprojekt hier.
Nächste Schritte
Weitere Informationen zum Azure SDK finden Sie auf dieser Website.
Mitwirken
Weitere Informationen zum Beitragsprozess finden Sie unter CONTRIBUTING.md .