4

我有一个托管在 Windows Server 2008 上的 ASP.Net MVC 4 应用程序。我使用的是 Microsoft Application Insights,它非常适用于客户端指标,例如客户端处理时间、自定义事件、用户、会话、页面视图等。但是,我无法获得任何服务器端指标,例如处理器时间或可用内存。这些区域都被横幅覆盖,上面写着“了解如何收集服务器请求数据”的意思。当我单击横幅时,它会显示一个带有说明的刀片,我已经完成了所有这些(快速启动)。

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

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

任何帮助或建议将不胜感激。谢谢!

4

3 回答 3

6

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

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

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

此外,您是否在应用程序洞察资源概览刀片的诊断搜索中看到 StatusMonitor 中的任何通知和/或跟踪/异常?

于 2015-02-10T00:49:11.143 回答
1

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

于 2016-07-13T17:41:26.193 回答
1

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

“启用AppInsightUsageCollection”值=“真”

于 2016-07-28T22:59:27.330 回答