共用方式為


範例:搭配 Azure 監視器和 Application Insights 使用 OpenTelemetry

有許多商業應用程式效能管理 (APM) 系統可供選擇。 在 Azure 中,主要應用程式監視產品是 Application Insights,這是 Azure 監視器的一部分。 整合式 APM 產品的其中一個優點,就是其可以將不同的可檢視性資料來源相互關聯。 Application Insights 具有豐富的檢視和分析功能。

1.新增 Application Insights 散發版本

為了簡化 Azure 監視器的 ASP.NET 體驗,提供了包裝函式套件(稱為 OTel 剖析中的散發版本),可執行大部分設定 OpenTelemetry 的繁重工作。

此範例是以 OTLP 逐步 解說為基礎。 請遵循步驟 1-5,使用 OTLP 匯出工具建立應用程式程式代碼。 在此範例中,我們將擴充程式代碼以將數據傳送至 Application Insights。

步驟 5 取得相同的專案,並新增下列 NuGet 套件:

<ItemGroup>
  <PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.3.0-beta.1" />
</ItemGroup>

注意

將版本取代為最新的可用版本

2.設定匯出工具

在 之前 builder.Build();新增下列 OTel 初始化程式代碼:

if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"]))
{
    otel.UseAzureMonitor();
}

UseAzureMonitor() 是將新增 Application Insights 通用檢測程式庫和匯出工具的 magic。 您只需要將自訂 MeterActivitySource 名稱新增至註冊即可。

與 Application Insights 相同的 OTel 初始化適用於 OTLP,差異在於您選取的導出工具。 您可以在相同的應用程式中使用這兩者,並藉由定義適當的環境變數來選取它們。

3.指定 連接字串

如果您還不是 Azure 客戶,則可以在 https://azure.microsoft.com/free/ 建立免費帳戶。 登入 Azure 入口網站,然後選取現有的 Application Insights 資源,或使用 https://ms.portal.azure.com/#create/Microsoft.AppInsights 建立新的資源。

Application Insights 會識別哪個執行個體要用來透過可在入口網站 UI 右上角找到的檢測金鑰和連接字串儲存和處理資料。

Azure 入口網站中的連接字串

如果您使用 Azure App Service 服務,此連接字串會自動傳遞至應用程式做為環境變數。 對於其他服務或在本機執行時,您必須使用APPLICATIONINSIGHTS_CONNECTION_STRING環境變數或在 appsettings.json傳遞它。 若要在本機執行,最簡單的方法是將值新增至 appsettings.development.json

"AzureMonitor": {
    "ConnectionString": "InstrumentationKey=12345678-abcd-abcd-abcd-12345678..."
}

注意

將此值取代為執行個體中的值。

4.在 Application Insights 中檢查您的應用程式

當您執行應用程式時,遙測會傳送至 Application Insights。 您現在應該會取得應用程式的記錄、計量和分散式追蹤。 在 Azure 入口網站中開啟 Application Insights 資源。

記錄

App Insights 記錄檢視

計量

App Insights 計量檢視

分散式追蹤

App Insights 交易檢視