首页 > 解决方案 > 适用于本地 Web 应用的 Azure Application Insight 遥测

问题描述

我按照这篇Microsoft 文章设置了使用 Azure 的 Application Insights在IIS上运行的本地.NET 应用程序。它一直运行良好。

据我了解,这是一种非侵入式、无代码的监控方法,旨在添加到已在生产中部署和运行的应用程序中。

然后我看到了这篇关于AddApplicationInsightsTelemetry的文章。它表明这是对 .NET Core 应用程序的代码库监控所必需的。

当我四处寻找两种方法之间的区别时,我有点困惑,这是否意味着它们都真的做同样的事情并且AddApplicationInsightsTelemetry()只需要.NET Core?

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

标签: c#.netazureazure-application-insights

解决方案


有 2 种方法可以为应用程序启用 Application Insights:

  1. 无代码方法 - 通常在应用程序已部署并运行(在 Azure 或本地)时使用。这种方法不需要修改源代码。可用的定制有限。

Azure Web Apps for Asp.Net 和 Asp.Net Core 应用程序支持无代码方法。( https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps?tabs=net ) 即将支持其他语言,如 Java、Node.Js、Python。

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

Asp.Net Apps 的任何本地服务器都支持无代码方法。( https://docs.microsoft.com/en-us/azure/azure-monitor/app/status-monitor-v2-overview )

  1. 基于代码的方法 - 使用的源代码是可访问的,通常涉及添加一个 nuget 包(在 .NET 世界中)和 1-2 行代码。这提供了最大程度的自定义以及发送自定义遥测的能力。它在实际应用程序的运行位置几乎无关紧要 - 它可以在 Azure 或 On-Prem 或任何地方。

如果你有一个 Asp.Net Core 应用程序,那么唯一支持无代码方法的地方就是 Azure Web 应用程序。对于其他所有地方,您需要基于代码的方法 ( 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 )。


推荐阅读