【问题标题】:Monitoring Entity Framework performance in ASP.NET app with Application Insights Status Monitor使用 Application Insights 状态监视器监视 ASP.NET 应用程序中的实体框架性能
【发布时间】:2016-01-13 09:38:24
【问题描述】:

我一直在使用 Application Insights (AI) 监控我的 ASP.NET 应用程序。最近,我还在我的 Web 服务器(带有 IIS 的 Windows Server 2012 R2)上安装了 AI 状态监视器,以获取有关我的应用程序的更详细的统计信息。正如the documentation 所说,AI 状态监视器报告依赖性诊断,即。调用数据库、REST API 等。因此,我想我会得到我的数据库调用的诊断信息,这些调用是通过我的应用程序中的实体框架执行的。

但是,我的应用程序 AI 中没有出现数据库调用诊断。但是,AI 状态监视器可以工作,因为我开始收到有关数据库以外的其他依赖项的诊断信息(即,阻止防火墙上的通信端口在这里不太可能成为问题)。

是否有人成功设置 AI 状态监视器以使用 Entity Framework 报告数据库诊断?我是否缺少任何需要添加到应用代码或 AI 状态监视器的配置?

【问题讨论】:

  • applicationingsights.config 的 TelemetryModules 中有 DependencyTrackingTelemetryModule 吗?
  • 是的,我在<Add Type="Microsoft.ApplicationInsights.Extensibility.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.DependencyCollector" /> 里面有TelemetryModules
  • 好的,我正在使用 EF,我正在获取 sql 遥测数据并且没有做任何特殊的配置。Afaik 不管你是使用 EF 还是做普通的 ado.net,所以对不起我不知道
  • 感谢@Eivind T,您确认您在没有任何特殊配置的情况下获得 SQL 遥测。
  • 这个问题解决了吗?

标签: c# asp.net .net entity-framework azure-application-insights


【解决方案1】:

一个可能的问题是您需要将 IIS 应用程序池的标识添加到“性能监视器用户”组中,这可能是您的问题;如果您也没有收到任何性能计数器数据,那么这肯定是原因。

另一种可能性是您的 IIS 站点上没有启用“分析”。当您在网络服务器上启动 AI SM 时,如果 IIS 的 COR 分析已禁用,右上角将有一个按钮“更新配置”(您单击该按钮,然后几秒钟后单击重新启动 IIS 按钮)。如果您遇到这种情况,如果您的公司环境使用 SCOM,您可能会遇到冲突。它会工作几天,但最终 SCOM 会注意到它自己的一部分不再工作,它会覆盖它,你将再次丢失依赖数据。 AI SM 和 SCOM 的 MMA 之间存在冲突,直到 SCOM 2016 才能解决。

【讨论】:

  • 感谢您的提示,但两者都不是我的问题。我确保 IIS 应用程序池标识是“性能监视器用户”组的成员(如果不是,您还会在 AI SM 中收到警告)。我也没有看到“更新配置”按钮,我们不使用 SCOM,因此我认为这不是我的问题的原因......
猜你喜欢
  • 2021-07-10
  • 1970-01-01
  • 2019-09-14
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多