

La AWS SDK pour .NET V3 est passée en mode maintenance.

Nous vous recommandons de migrer vers la version [AWS SDK pour .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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é
<a name="observability"></a>

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 pour .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 [TelemetryProvider](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TTelemetryProvider.html)pour envoyer des données de télémétrie à un backend d'observabilité (tel que [AWS X-Ray](https://docs.aws.amazon.com/xray/?icmpid=docs_homepage_devtools)[Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/?icmpid=docs_homepage_mgmtgov)), 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
<a name="observability-resources"></a>

Pour plus d'informations sur l'activation et l'utilisation de l'observabilité, consultez les ressources suivantes :
+ [OpenTelemetry](https://opentelemetry.io/)
+ Le billet de blog [Enhancing Observability in the AWS SDK pour .NET with OpenTelemetry](https://aws.amazon.com/blogs/developer/enhancing-observability-in-the-aws-sdk-for-net-with-opentelemetry/).
+ Le billet de blog [annonçant la disponibilité générale des OpenTelemetry bibliothèques AWS .NET](https://aws.amazon.com/blogs/dotnet/announcing-the-general-availability-of-aws-net-opentelemetry-libraries/).
+ [Exportateurs pour OpenTelemetry](https://opentelemetry.io/docs/languages/net/exporters/)
+ Pour des exemples d'observabilité dans le Outils AWS pour PowerShell, voir [Observabilité](https://docs.aws.amazon.com/powershell/latest/userguide/observability.html) dans le guide [ PowerShell d'utilisation des outils](https://docs.aws.amazon.com/powershell/latest/userguide/).

## Configurez un `TelemetryProvider`
<a name="observability-conf-telemetry-provider"></a>

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](observability-telemetry-providers.md) 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
<a name="observability-conf-telemetry-provider-global"></a>

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` et`OpenTelemetry.Instrumentation.AWS`.

**Note**  
Si vous l'utilisez AWS IAM Identity Center pour l'authentification, veillez également à ajouter `AWSSDK.SSO` et`AWSSDK.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
<a name="observability-conf-telemetry-provider-client"></a>

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](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/TS3Config.html) et recherchez la propriété. `TelemetryProvider` Consultez [Fournisseurs de services de télémétrie](observability-telemetry-providers.md) pour plus d'informations sur les implémentations de télémétrie personnalisées.

**Topics**
+ [Ressources supplémentaires](#observability-resources)
+ [Configurez un `TelemetryProvider`](#observability-conf-telemetry-provider)
+ [Métriques](observability-metrics.md)
+ [Fournisseurs de services de télémétrie](observability-telemetry-providers.md)