範例:搭配 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。 您只需要將自訂 Meter
和 ActivitySource
名稱新增至註冊即可。
與 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 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 資源。