【问题标题】:Azure Application Insight Telemetry for On-Premises web app适用于本地 Web 应用的 Azure Application Insight 遥测
【发布时间】:2019-12-23 16:34:48
【问题描述】:

我按照Microsoft article 使用 Azure 的 Application Insights 设置了在 IIS 上运行的本地 .NET 应用程序。而且效果很好。

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

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

当我四处寻找两种方法之间的区别时,我有点困惑,这是否意味着它们实际上都在做同样的事情,而 AddApplicationInsightsTelemetry() 仅适用于 .NET Core?

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

【问题讨论】:

  • 如果您的应用程序是 .Net Framework,您只需添加 nuget 包即可使其正常工作。如果你有 .Net Core 应用,需要在 Startup 类中使用AddApplicationInsightsTelemetry 方法。
  • 感谢 @gunr2171,我们的 Web 应用程序是 .NET 框架 4.7.2,但我们最近实现了一个用 .NET Core 编写的服务组件层。所以我想就目前而言,除非我按照您的建议将遥测方法添加到该组件的服务集合中,否则我不会从该组件获得任何遥测数据。

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


【解决方案1】:

根据gunr2171提到的cmets,我将答案(社区成员)总结如下:

如果应用程序是.Net Framework,我们只需要download and run“Application Insights Status Monitor”并按照Fylix提供的document中的步骤操作。此解决方案是无代码的,但仅适用于 .Net Framework 并部署在 IIS 上(如下图所示)

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

【讨论】:

【解决方案2】:

有两种方法可以为应用启用 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。

Azure VMs 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 应用程序、Azure VM 和 On-Prem 支持无代码。如果您想自定义遥测集合,您仍然可以使用基于代码的方法 (https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2022-09-22
    • 1970-01-01
    • 2018-01-05
    • 2015-03-25
    相关资源
    最近更新 更多