共用方式為


.NET .NET Aspire 遙測

.NET .NET Aspire 的主要目標是確保應用程式能夠直接偵錯和診斷。 .NET .NET Aspire 整合會使用 .NETOpenTelemetry SDK,自動設定記錄、追蹤和度量的組態,這些組態有時稱為可觀察性的支柱。

  • 記錄:記錄事件描述應用程式執行時發生的情況。 預設情況下,針對 .NET.NET Aspire 整合功能會啟用基準設定,並且可以按需求啟用更詳細的記錄來診斷特定問題。

  • 追蹤:追蹤可以把屬於同一邏輯活動的日誌事件關聯在一起(例如,處理單一請求),就算這些事件分佈在多台計算機或程序中也是如此。

  • 度量:度量會將應用程式的效能和健康情況特性呈現為簡單的數值。 因此,其效能負擔較低,而且許多服務會將其設定為 Always-On 遙測。 這也適合在偵測到潛在問題時觸發警示。

這些類型的遙測可讓您使用各種監視和分析工具來深入瞭解應用程式的行為和效能。 視支援服務而定,某些整合可能只支援其中一些功能。

.NET Aspire OpenTelemetry 整合

.NET OpenTelemetry SDK 包含從數個 .NET API 收集數據的功能,包括 ILoggerActivityMeterInstrument<T>。 這些 API 會對應至遙測功能,例如記錄、追蹤和計量。 .NET Aspire 專案會在 ServiceDefaults 項目中定義 OpenTelemetry SDK 組態。 如需詳細資訊,請參閱 .NET.NET Aspire 服務預設值

根據預設,ConfigureOpenTelemetry 方法會啟用應用程式的記錄、追蹤和計量。 它也會新增這些數據點的導出工具,以便由其他監視工具收集它們。

匯出 OpenTelemetry 數據以進行監視

.NET OpenTelemetry SDK 有助於將此遙測數據匯出至資料存放區或報告工具。 遙測導出機制依賴 OpenTelemetry 通訊協定 (OTLP),其可作為透過 REST 或 gRPC 傳輸遙測數據的標準化方法。 ConfigureOpenTelemetry 方法也會註冊出口器,以將您的遙測數據提供給其他監控工具,例如 Prometheus 或 Azure Monitor。 如需詳細資訊,請參閱 組態。

OpenTelemetry 環境變數

OpenTelemetry 具有已知環境變數的 清單, 設定收集及導出遙測的最重要行為。 OpenTelemetry SDK,包括 .NET SDK,都支援讀取這些變數。

.NET Aspire 專案使用環境變數啟動,以便在導出的遙測中設定應用程式的名稱和ID,並將OTLP server 的位址端點設置為數據匯出。 例如:

  • OTEL_SERVICE_NAME = myfrontend
  • OTEL_RESOURCE_ATTRIBUTES = service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168
  • OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:4318

環境變數會自動在本機開發中設定。

.NET .NET Aspire 本機開發

當您建立 .NET Aspire 專案時,.NET Aspire 儀錶板預設會提供 使用者介面來檢視應用程式的遙測數據。 遙測數據會使用 OTLP 傳送至儀錶板,而儀錶板會實作 OTLP server 來接收遙測數據,並將其儲存在記憶體中。 .NET .NET Aspire 偵錯工作流程如下所示:

  • 開發人員啟動 .NET.NET Aspire 專案進行偵錯,然後按 F5
  • .NET .NET Aspire 儀錶板和開發人員控制平面 (DCP) 啟動。
  • 應用程式組態會在 AppHost 項目中執行。
    • OpenTelemetry 環境變數會在應用程式設定期間自動新增至 .NET 專案。
    • DCP 會在導出的遙測中提供應用程式的名稱(OTEL_SERVICE_NAME)和標識碼(OTEL_RESOURCE_ATTRIBUTES)。
    • OTLP 端點是由儀錶板啟動的 HTTP/2 連接埠。 此端點會在每個專案的 OTEL_EXPORTER_OTLP_ENDPOINT 環境變數中設定。 這可告知專案將遙測導出回儀錶板。
    • 較小的匯出間隔(OTEL_BSP_SCHEDULE_DELAYOTEL_BLRP_SCHEDULE_DELAYOTEL_METRIC_EXPORT_INTERVAL),因此數據可以在儀表板中快速取得。 小的數值用於本機開發中,以將儀錶板的響應速度優先於效率。
  • DCP 會啟動已設定的專案、容器和可執行檔。
  • 啟動之後,應用程式會將遙測傳送至儀錶板。
  • 儀錶板會顯示所有 .NET.NET Aspire 專案的近乎實時遙測。

這些步驟都是在內部執行,因此在大部分情況下,開發人員只需要執行應用程式,才能看到此程序運作。

.NET .NET Aspire 部署

.NET Aspire 部署環境應該設定 OpenTelemetry 適合其環境的環境變數。 例如,應將 OTEL_EXPORTER_OTLP_ENDPOINT 配置到環境的本地 OTLP 收集器或監控服務。

.NET .NET Aspire 遙測在支援OTLP的環境中效果最好。 如果未設定 OTEL_EXPORTER_OTLP_ENDPOINT,則會停用OTLP匯出。

如需詳細資訊,請參閱 .NET.NET Aspire 部署