Azure Web App中的可用计数器

时间:2018-04-05 10:29:47

标签: azure azure-web-sites azure-application-insights

我们正在努力查明一些内存问题,为此我们需要在app-insight Analytics数据中使用其他计数器,这些计数器可以帮助我们解决问题

\Memory\Page Faults /sec
\Memory\Page Reads /sec
\Memory\Cache Faults /sec
\Memory\Available Bytes
\Paging File(*)\% Usage Peak
\Process(??APP_W3SVC_PROC??)\Working Set Peak
\Process(??APP_W3SVC_PROC??)\Working Set - Private

如果我在ApplicationInisights.config中添加此计数器,我会收到消息

AI:Web应用程序支持列表中没有性能计数器。计数器是$ CounterName

因此接缝该进程无权获取性能计数器。

我有以下问题:

  • 如何将计数器Process Page Faults添加到applicationinishgts.config,以便将其存储到分析门户网站中(我尝试了此\Memory(??APP_W3SVC_PROC??)\Page Faults /sec但它无效)。它在Live Matrics Stream中显示,因此可以
  • 如果我尝试使用PowerShell或类似功能在启动时授予WWW-process权限,会有帮助吗?或者这只是不起作用(没有实施/设计..)
  • 是否有可在Azure Web App中使用的性能计数器列表?
  • 在实时流中 - 处理CPU(所有核心的百分比之和)显示(但不能更改),这显然是全局计数器 - 因为上述计数器非常有用,是否可以以某种方式以类似的方式添加? / LI>

2 个答案:

答案 0 :(得分:2)

Application Insight可以在Azure WebApps中运行时收集计数器子集。没有受支持列表的文档,但这里是代码。

https://github.com/Microsoft/ApplicationInsights-dotnet-server/blob/4093e9a6d350a9d4759eb64a2be17a90dc23f85a/Src/PerformanceCollector/Perf.Shared.NetFull/Implementation/WebAppPerformanceCollector/CounterFactory.cs#L21

上面未列出的任何计数器都不会在网络应用程序中收集。

答案 1 :(得分:1)

可能不完全是你想要的,但是App Service有一个宣传不好的功能,可以通过评估一些特殊的环境变量来获得一些性能计数器:

  • WEBSITE_COUNTERS_ASPNET
  • WEBSITE_COUNTERS_APP
  • WEBSITE_COUNTERS_CLR
  • WEBSITE_COUNTERS_ALL

有关详细信息,请参阅此wiki page

这不是App Insights现在会消费的东西(据我所知),但可能他们可能会在未来增加对它的支持。