As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Observabilidade
Esta é uma documentação de pré-lançamento de um recurso em versão de pré-visualização. Está sujeita a alteração. |
Observabilidade é até que ponto o estado atual de um sistema pode ser inferido a partir dos dados que ele emite. Os dados emitidos são comumente chamados de telemetria.
Eles AWS SDK for .NET podem fornecer dois sinais, métricas e rastreamentos de telemetria comuns, além de registros. Você pode conectar um TelemetryProviderpara enviar dados de telemetria para um back-end de observabilidade (como a AWS X-RayAmazon CloudWatch) e, em seguida, agir de acordo com eles.
Por padrão, os sinais de telemetria são desativados no. SDK Este tópico explica como habilitar e configurar a saída de telemetria.
Recursos adicionais
Para obter mais informações sobre como ativar e usar a observabilidade, consulte os seguintes recursos:
-
A postagem do blog Enhancing Observability in the AWS SDK for .NET with
. OpenTelemetry -
Para exemplos de observabilidade no AWS Tools for PowerShell, consulte Observabilidade no Guia de Ferramentas do PowerShell Usuário.
Configurar um TelemetryProvider
Você pode configurar um TelemetryProvider
em seu aplicativo globalmente para todos os clientes de serviço ou para clientes individuais, conforme mostrado nos exemplos a seguir. A Provedores de telemetria seção contém informações sobre implementações de telemetria, incluindo informações sobre implementações fornecidas com o. SDK
Configurar o provedor de telemetria global padrão
Por padrão, todo cliente de serviço tenta usar o provedor de telemetria disponível globalmente. Dessa forma, você pode definir o provedor uma vez e todos os clientes o usarão. Isso deve ser feito apenas uma vez, antes de criar qualquer cliente de serviço.
O trecho de código a seguir mostra como configurar o provedor de telemetria global. Em seguida, ele cria um cliente de serviço Amazon S3 e tenta realizar uma operação que falha. O código adiciona rastreamento e métricas ao aplicativo. Esse código usa os seguintes NuGet pacotes: OpenTelemetry.Exporter.Console
andOpenTelemetry.Instrumentation.AWS
, que está atualmente em pré-lançamento.
nota
Se você estiver usando AWS IAM Identity Center para autenticação, não se esqueça de adicionar AWSSDK.SSO
AWSSDK.SSOOIDC
e.
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();
Configurar um provedor de telemetria para um cliente de serviço específico
Você pode configurar um cliente de serviço individual com um provedor de telemetria específico (diferente do global). Para fazer isso, use a TelemetryProvider
classe do objeto Config de um construtor de cliente de serviço. Por exemplo, consulte AmazonS3Config e procure a propriedade. TelemetryProvider
Consulte Provedores de telemetria para obter informações sobre implementações personalizadas de telemetria.