AWS X-Ray SDK für .NET - AWS X-Ray

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS X-Ray SDK für .NET

Das X-Ray SDK for .NET ist eine Bibliothek zur Instrumentierung von C#-.NET-Webanwendungen, .NET Core-Webanwendungen und .NET Core-Funktionen in AWS Lambda. Es bietet Klassen und Methoden zum Generieren und Senden von Ablaufverfolgungsdaten an den X-Ray-Daemon . Dazu gehören Informationen über eingehende Anforderungen, die von der Anwendung bedient werden, und Aufrufe, die die Anwendung an nachgelagerte AWS-Services, HTTP-Web-APIs und SQL-Datenbanken durchführt.

Anmerkung

Das X-Ray SDK for .NET ist ein Open-Source-Projekt. Sie können dem Projekt folgen und Probleme und Pull-Anfragen an senden GitHub: github.com/aws/aws-xray-sdk-dotnet

Für Webanwendungen fügen Sie zunächst einen Message Handler zu Ihrer Web-Konfiguration hinzu, um eingehende Anforderungen zu verfolgen. Der Message Handler erstellt für jede rückverfolgte Anforderung ein Segment und vervollständigt das Segment, nachdem die Antwort gesendet wurde. Während das Segment geöffnet ist, können Sie die SDK-Client-Methoden nutzen, um dem Segment Informationen hinzuzufügen, Untersegmente zu erstellen und nachgelagerte Aufrufe rückzuverfolgen. Das SDK erfasst auch automatisch Ausnahmen, die Ihre Anwendung ausgibt, während das Segment geöffnet ist.

Für Lambda-Funktionen, die von einer instrumentierten Anwendung oder einem instrumentierten Service aufgerufen werden, liest Lambda den Nachverfolgungs-Header und verfolgt Stichprobenanforderungen automatisch. Für andere Funktionen können Sie Lambda so konfigurieren, dass eingehende Anforderungen erfasst und verfolgt werden. In beiden Fällen erstellt Lambda das Segment und stellt es dem X-Ray-SDK zur Verfügung.

Anmerkung

Auf Lambda ist das X-Ray-SDK optional. Wenn Sie es nicht in Ihrer Funktion verwenden, enthält Ihre Service-Übersicht immer noch einen Knoten für den Lambda-Service und einen für jede Lambda-Funktion. Durch Hinzufügen des SDK können Sie Ihren Funktionscode instrumentieren, um dem von Lambda aufgezeichneten Funktionssegment Untersegmente hinzuzufügen. Weitere Informationen finden Sie unter AWS Lambda und AWS X-Ray.

Verwenden Sie als Nächstes das X-Ray SDK for .NET, um Ihre AWS SDK for .NET Clients zu instrumentieren. Jedes Mal, wenn Sie einen Aufruf an eine Downstream- AWS-Service oder -Ressource mit einem instrumentierten Client tätigen, zeichnet das SDK Informationen über den Aufruf in einem Untersegment auf. AWS -Services und die Ressourcen, auf die Sie innerhalb der Services zugreifen, werden als Downstream-Knoten auf der Ablaufverfolgungskarte angezeigt, um Ihnen bei der Identifizierung von Fehlern und Drosselungsproblemen bei einzelnen Verbindungen zu helfen.

Das X-Ray SDK for .NET bietet auch Instrumentierung für nachgelagerte Aufrufe von HTTP-Web-APIs und SQL-Datenbanken. Die GetResponseTraced-Erweiterungsmethode für System.Net.HttpWebRequest verfolgt ausgehende HTTP-Aufrufe. Sie können die Version des X-Ray SDK for .NET verwendenSqlCommand, um SQL-Abfragen zu instrumentieren.

Nachdem Sie das SDK verwendet haben, passen Sie sein Verhalten an, indem Sie den Recorder und den Message Handler konfigurieren. Sie können Plugins zum Festhalten von Daten über die Datenverarbeitungsressourcen, auf denen Ihre Anwendung ausgeführt wird, hinzufügen, das Samplingverhalten durch Samplingregeln anpassen und Protokollebenen einrichten, um mehr oder weniger Informationen von dem SDK in Ihren Anwendungsprotokollen zu sehen.

Zeichnen Sie zusätzliche Informationen zu Anforderungen und den Aufgaben, die Ihre Anwendung ausführt, in Anmerkungen und Metadaten auf. Anmerkungen sind einfache Schlüsselwertpaare, die für die Verwendung mit Filterausdrücken indiziert werden, damit Sie nach Ablaufverfolgen mit bestimmten Daten suchen können. Metadateneinträge sind weniger einschränkend und können ganze Objekte und Arrays aufzeichnen – alle Daten, die in eine JSON zusammengefasst werden können.

Anmerkungen und Metadaten

Anmerkungen und Metadaten sind beliebiger Text, den Sie Segmenten mit dem X-Ray-SDK hinzufügen. Anmerkungen werden für die Verwendung mit Filterausdrücken indiziert. Metadaten werden nicht indiziert, können aber im Rohsegment mit der X-Ray-Konsole oder API angezeigt werden. Jeder, dem Sie Lesezugriff auf X-Ray gewähren, kann diese Daten anzeigen.

Wenn Sie viele instrumentierten Clients in Ihrem Code haben, kann ein einzelnes Anforderungssegmente viele Untersegmente enthalten, eines für jeden Aufruf mit einem instrumentierten Client. Sie können Untersegmente organisieren und gruppieren, indem Sie Client-Aufrufe in benutzerdefinierten Untersegmenten zusammenfassen. Sie können ein benutzerdefiniertes Untersegment für eine ganze Funktion oder eine Code-Abschnitt erstellen und Metadaten und Anmerkungen im Untersegment festhalten, anstatt alles im übergeordneten Segment aufzuzeichnen.

Referenzdokumentation zu den SDK-Klassen und -Methoden finden Sie unter:

Das Paket unterstützt sowohl .NET als auch .NET Core. Die verwendeten Klassen sind jedoch unterschiedlich. Beispiele in diesem Kapitel verweisen auf die .NET API-Referenz, es sei denn, die Klasse ist für .NET Core spezifisch.

Voraussetzungen

Das X-Ray SDK for .NET erfordert das .NET Framework 4.5 oder höher und AWS SDK for .NET.

Für .NET Core-Anwendungen und -Funktionen erfordert das SDK .NET Core 2.0 oder höher.

Hinzufügen des X-Ray SDK for .NET zu Ihrer Anwendung

Verwenden Sie NuGet , um das X-Ray SDK for .NET zu Ihrer Anwendung hinzuzufügen.

So installieren Sie das X-Ray SDK for .NET mit dem NuGet Paketmanager in Visual Studio
  1. Wählen Sie Tools , NuGet Package Manager , NuGet Pakete für Lösung verwalten aus.

  2. Suchen Sie nach AWSXRayRecorder.

  3. Wählen sie das Paket und dann Installieren.

Abhängigkeitsmanagement

Das X-Ray SDK for .NET ist über Nuget verfügbar. Installieren Sie das SDK mit dem Paketmanager:

Install-Package AWSXRayRecorder -Version 2.10.1

Das nugetAWSXRayRecorder v2.10.1-Paket hat die folgenden Abhängigkeiten:

NET Framework 4.5

AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|      
|-- AWSXRayRecorder.Handlers.AspNet (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- EntityFramework (>= 6.2.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)      
      

NET Framework 2.0

AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|   |-- Microsoft.AspNetCore.Http (>= 2.0.0)
|   |-- Microsoft.Extensions.Configuration (>= 2.0.0)
|   |-- System.Net.Http (>= 4.3.4)
|      
|-- AWSXRayRecorder.Handlers.AspNetCore (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.AspNetCore.Http.Extensions (>= 2.0.0)
|   |-- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.0.0)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.EntityFrameworkCore.Relational (>= 3.1.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- System.Data.SqlClient (>= 4.4.0)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)
      

Weitere Informationen zur Abhängigkeitsverwaltung finden Sie in der Microsoft-Dokumentation zu Nuget-Abhängigkeit und Nuget-Abhängigkeitsauflösung.