Observabilité - AWS SDK for .NET

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Observabilité

Il s'agit de la documentation d'avant-première d'une fonctionnalité en version préliminaire. Elle est susceptible d’être modifiée.

L'observabilité est la mesure dans laquelle l'état actuel d'un système peut être déduit des données qu'il émet. Les données émises sont communément appelées télémétrie.

Ils AWS SDK for .NET peuvent fournir deux signaux de télémétrie courants, les métriques et les traces, ainsi que la journalisation. Vous pouvez connecter un TelemetryProviderpour envoyer des données de télémétrie à un backend d'observabilité (tel que AWS X-RayAmazon CloudWatch), puis agir en conséquence.

Par défaut, les signaux de télémétrie sont désactivés dans le. SDK Cette rubrique explique comment activer et configurer la sortie de télémétrie.

Ressources supplémentaires

Pour plus d'informations sur l'activation et l'utilisation de l'observabilité, consultez les ressources suivantes :

Configurez un TelemetryProvider

Vous pouvez configurer un TelemetryProvider dans votre application globalement pour tous les clients de service ou pour des clients individuels, comme indiqué dans les exemples suivants. La Fournisseurs de services de télémétrie section contient des informations sur les implémentations de télémétrie, notamment des informations sur les implémentations fournies avec le. SDK

Configuration du fournisseur de télémétrie global par défaut

Par défaut, chaque client de service tente d'utiliser le fournisseur de télémétrie disponible dans le monde entier. De cette façon, vous pouvez définir le fournisseur une seule fois, et tous les clients l'utiliseront. Cela ne doit être fait qu'une seule fois, avant de créer des clients de service.

L'extrait de code suivant explique comment définir le fournisseur de télémétrie global. Il crée ensuite un client de service Amazon S3 et tente d'effectuer une opération qui échoue. Le code ajoute à la fois le suivi et les métriques à l'application. Ce code utilise les NuGet packages suivants : OpenTelemetry.Exporter.Console etOpenTelemetry.Instrumentation.AWS, qui est actuellement en version préliminaire.

Note

Si vous l'utilisez AWS IAM Identity Center pour l'authentification, veillez également à ajouter AWSSDK.SSO etAWSSDK.SSOOIDC.

using Amazon.S3; using OpenTelemetry; using OpenTelemetry.Metrics; using OpenTelemetry.Resources; using OpenTelemetry.Trace; Sdk.CreateTracerProviderBuilder() .ConfigureResource(e => e.AddService("DemoOtel")) .AddAWSInstrumentation() .AddConsoleExporter() .Build(); Sdk.CreateMeterProviderBuilder() .ConfigureResource(e => e.AddService("DemoOtel")) .AddAWSInstrumentation() .AddConsoleExporter() .Build(); var s3Client = new AmazonS3Client(); try { var listBucketsResponse = await s3Client.ListBucketsAsync(); // Attempt to delete a bucket that doesn't exist. var deleteBucketResponse = await s3Client.DeleteBucketAsync("amzn-s3-demo-bucket"); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read();

Configuration d'un fournisseur de télémétrie pour un client de service spécifique

Vous pouvez configurer un client de service individuel auprès d'un fournisseur de télémétrie spécifique (autre que le fournisseur global). Pour ce faire, utilisez la TelemetryProvider classe de l'objet Config d'un constructeur de client de service. Par exemple, consultez AmazonS3Config et recherchez la propriété. TelemetryProvider Consultez Fournisseurs de services de télémétrie pour plus d'informations sur les implémentations de télémétrie personnalisées.