簡體   English   中英

用於本地 Web 應用的 Azure Application Insight 遙測

[英]Azure Application Insight Telemetry for On-Premises web app

我按照這篇Microsoft 文章設置了使用 Azure 的 Application Insights 在IIS上運行的本地.NET 應用程序 它一直工作得很好。

據我了解,這是一種非侵入式、無代碼的監控方法,旨在添加到已經部署並在生產環境中運行的應用程序中。

然后我看到了這篇關於AddApplicationInsightsTelemetry 的文章。 它表示 .NET Core 應用程序上的代碼庫監控需要這樣做。

當我四處尋找兩種方法之間的不同之處時,我有點困惑,這是否意味着它們確實在做同樣的事情,而AddApplicationInsightsTelemetry()僅適用於 .NET Core?

我是否需要將它添加到我的 Web .NET 應用程序中,因為使用的一個子組件是使用 .NET Core 編寫的?

根據gunr2171提到的評論,我總結了以下答案(針對社區成員):

如果應用程序是.Net Framework,我們只需要下載並運行“Application Insights Status Monitor”並按照Fylix提供的本文檔中的步驟進行操作。 此解決方案是無代碼的,但僅適用於 .Net Framework 並部署在 IIS 上(如下圖所示) 在此處輸入圖片說明

如果應用是.Net Core,我們需要按照這個文檔,在項目中添加“Microsoft.ApplicationInsights.AspNetCore”sdk,並在Startup類中使用“AddApplicationInsightsTelemetry”。 我們還可以在 Startup.cs 類的 ConfigureServices() 方法中自定義 Application Insights SDK。

有兩種方法可以為應用程序啟用 Application Insights:

  1. 無代碼方法 - 通常在應用程序已經部署並運行(在 Azure 或本地)時使用。 這種方法不需要修改源代碼。 提供有限的定制。

適用於 Asp.Net 和 Asp.Net Core 應用程序的 Azure Web 應用程序支持無代碼方法。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps?tabs=net )即將支持其他語言,如 Java、Node.Js、Python。

適用於 Asp.Net 的 Azure VM 支持無代碼方法 ( https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-vm-vmss-apps )

任何用於 Asp.Net 應用程序的本地服務器都支持無代碼方法。( https://docs.microsoft.com/en-us/azure/azure-monitor/app/status-monitor-v2-overview

  1. 基於代碼的方法 - 使用的源代碼是可訪問的,通常涉及添加 nuget 包(在 .NET 世界中)和 1-2 行代碼。 這提供了最大程度的自定義以及發送自定義遙測的能力。 實際應用程序在哪里運行幾乎無關緊要 - 它可以在 Azure 或本地或任何地方。

如果你有一個 Asp.Net Core 應用程序,那么唯一支持無代碼方法的地方是 Azure Web Apps。 對於其他所有地方,您都需要基於代碼的方法 ( https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core )

如果您擁有 Asp.Net 應用程序,則 Azure Web Apps、Azure VMs、On-Prem 支持無代碼。 如果要自定義遙測集合,您仍然可以使用基於代碼的方法 ( https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM