适用于本地Web应用的Azure Application Insight Telemetry

时间:2019-12-23 16:34:48

标签: c# .net azure azure-application-insights

通过遵循此Microsoft article,我使用Azure的Application Insights设置了在 IIS 上运行的本地 .NET应用程序。而且效果很好。

据我了解,这是一种非侵入性的,无需代码的监视方法,旨在添加到已经在生产环境中部署并运行的应用程序中。

然后,我碰到了有关AddApplicationInsightsTelemetry的这篇文章。这表明在.NET Core应用程序上进行代码库监视时需要此功能。

在Goolging尝试查找两种方法之间的区别时,我有些困惑,这是否意味着它们确实在做相同的事情,而AddApplicationInsightsTelemetry()仅适用于.NET Core?

我是否需要将其添加到我的Web .NET应用程序中,因为使用的一个子组件是使用.NET Core编写的?

2 个答案:

答案 0 :(得分:1)

根据gunr2171提及的评论,我总结了以下答案(针对社区成员):

如果应用程序是.Net Framework,我们只需要download and run“应用程序洞察状态监视器”并遵循由Fylix提供的document中的步骤。该解决方案是无代码的,但仅适用于.Net Framework,并且已部署在IIS上(如下图所示)。 enter image description here

如果应用程序是.Net Core,则需要遵循此document,将“ Microsoft.ApplicationInsights.AspNetCore” sdk添加到项目中,并在Startup类中使用“ AddApplicationInsightsTelemetry”。我们还可以在Startup.cs类的ConfigureServices()方法中自定义Application Insights SDK。

答案 1 :(得分:1)

有两种方法可以对应用程序启用Application Insights:

  1. 省代码的方法-通常在已经部署并运行应用程序(在Azure或本地)中使用。这种方法不需要修改源代码。可用的定制功能有限。
Azure Web Apps for Asp.Net和Asp.Net Core应用程序支持

Less-Less方法。 (https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps?tabs=net),即将支持其他语言,例如Java,Node.Js和Python。

Asp.Net(https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-vm-vmss-apps)的Azure VM中支持无代码减少方法

Asp.Net Apps的任何本地服务器中都支持“无代码减少”方法。(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 VM,本地中支持无代码。如果要自定义遥测集合,仍然可以使用基于代码的方法(https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net)。