Application Insights - 仅获取客户端数据,不获取服务器数据。

Application Insights - Getting only client side data, no server data.

我有一个 ASP.Net MVC 4 应用程序托管在 Windows Server 2008 上。我正在使用 Microsoft Application Insights,它非常适合客户端指标,例如客户端处理时间、自定义事件、用户、会话、页面浏览量等。但是,我无法获得任何 server-side 指标,例如处理器时间或可用内存。这些区域都被横幅覆盖,上面写着 "Learn how to collect server request data" 的效果。当我点击横幅时,它会显示 blade 和说明,所有这些我都已经完成(快速入门)。

除了通过 VS 2013 (0.12.0-build17386) 安装 Application Insights SDK 之外,我还在服务器上安装并配置了 Application Insights 状态监视器。我重新启动了 IIS,甚至重新启动了服务器。尽管如此,我还是无法获得任何服务器指标。我已阅读故障排除指南,并检查了其中提到的所有内容,例如确保应用程序池身份是 "Performance Monitor Users" 组的一部分。

我觉得好像我必须对 ApplicationInsights.config 文件做些什么才能打开和/或定义我想要的服务器指标,但我根本找不到任何相关文档。

如有任何帮助或建议,我们将不胜感激。谢谢!

不,你不应该对 ApplicationInsights.config 做任何额外的事情。性能计数器是默认监控包的一部分,几乎所有问题都与该用户不属于 'Performance Monitor Users' 组有关,但这不是你的情况。

为确保配置正确,您可以检查 ApplicationInsights.config 中是否定义了以下模块:

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCollector.PerformanceCollectorModule, Microsoft.ApplicationInsights.Extensibility.PerfCollector"/>

此外,您是否在应用程序洞察资源概述边栏选项卡的诊断搜索中看到 StatusMonitor and/or traces/exceptions 中的任何通知?

好的,我们知道了。应用程序的根文件夹中有一个 ApplicationInsights.config,那是我看过的唯一一个。在 Yulia Safarova 的建议下,我在 bin 文件夹中发现了另一个。这个没有指定模块定义。 (它基本上是空的)。我把根目录下的那个的内容全部复制到bin文件夹下的那个里面,数据全部开始流动了。

如果您正在寻找要在 Azure Application Insight 上显示的 CPU、内存、响应率等服务器数据,那么在添加上述模块的同时,还要确保 Web 应用程序身份用户是服务器上管理员组的一部分。下面的标志在 web.config

中打开

"EnableAppInsightUsageCollection" 值="true"