Freigeben über


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

Installieren des Pakets

Neueste Version: Nuget

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.

  1. Legen Sie für Credential auf fest AzureMonitorExporterOptions.

    var credential = new DefaultAzureCredential();
    
    Sdk.CreateTracerProviderBuilder()
        .AddAzureMonitorTraceExporter(o =>
        {
            o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000";
            o.Credential = credential;
        })
        .Build();
    
  2. 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:

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 .