本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
可觀測性
這是預覽版本中功能的預先發行文件。內容可能變動。 |
可觀測性是系統目前狀態可從其發出之資料推斷的程度。發出的資料通常稱為遙測。
AWS SDK for .NET 可提供兩種常見的遙測訊號、指標和追蹤,以及記錄。您可以連接 TelemetryProvider,將遙測資料傳送至可觀測性後端 (例如 AWS X-Ray或 Amazon CloudWatch),然後對其採取行動。
根據預設,遙測訊號會在 中停用SDK。本主題說明如何啟用和設定遙測輸出。
其他資源
如需啟用和使用可觀測性的詳細資訊,請參閱下列資源:
-
如需 中可觀測性的範例 AWS Tools for PowerShell,請參閱 PowerShell 使用者指南 中的可觀測性。
設定 TelemetryProvider
您可以在TelemetryProvider
應用程式中針對所有服務用戶端或個別用戶端全域設定 ,如下列範例所示。遙測供應商 本節包含遙測實作的相關資訊,包括與 一起提供的實作的相關資訊SDK。
設定預設全域遙測提供者
根據預設,每個服務用戶端都會嘗試使用全域可用的遙測提供者。如此一來,您可以設定一次提供者,所有用戶端都會使用它。建立任何服務用戶端之前,這應該只完成一次。
下列程式碼片段會示範如何設定全域遙測提供者。然後,它會建立 Amazon S3 服務用戶端,並嘗試執行失敗的操作。程式碼會將追蹤和指標新增至應用程式。此程式碼使用下列 NuGet 套件: OpenTelemetry.Exporter.Console
和 OpenTelemetry.Instrumentation.AWS
,目前處於預先發行狀態。
注意
如果您使用 AWS IAM Identity Center 進行身分驗證,請務必同時新增 AWSSDK.SSO
和 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();
為特定服務用戶端設定遙測提供者
您可以使用特定遙測提供者 (非全域提供者) 設定個別服務用戶端。若要這麼做,請使用服務用戶端建構器的 Config 物件TelemetryProvider
類別。例如,請參閱 AmazonS3Config 並尋找 TelemetryProvider
屬性。如需自訂遙測實作的相關資訊遙測供應商,請參閱 。