1

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

但是,没有数据库调用诊断出现在我的AI为应用程序。但是,AI状态监视器的工作原理是,我开始接受有关其他依赖关系的诊断,但数据库(即防火墙上的通信端口不可能成为问题)。

有没有人成功设置AI状态监视器来报告实体框架的数据库诊断?我是否缺少需要添加到应用代码或AI状态监视器的配置?

+0

您是否在TelemetryModule中使用了Applicationingsights.config中的DependencyTrackingTelemetryModule? –

+0

是的,我在'TelemetryModules'内有'''>。 –

+0

好吧,我正在使用EF和我得到的SQL遥测和没有做任何特别的配置.. Afaik没关系,如果你使用EF或做普通的ado.net,所以对不起,我不知道 –

回答

1

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

另一种可能性是“分析”未在IIS站点上启用。当您在网络服务器上启动AI SM时,如果IIS的COR配置文件已被禁用(如果您单击该按钮,则几秒钟后单击“重新启动IIS”按钮将在右上角出现“更新配置”按钮)。如果遇到这种情况,如果您的企业环境使用SCOM,则可能会发生冲突。它可以工作几天,但最终SCOM会注意到它自身不再有效,并且会覆盖它,并且您将再次失去依赖关系数据。 AI SM和SCOM的MMA之间存在冲突,直到SCOM 2016才能解决。

+0

谢谢你的提示,但是两者都不是我的问题。我确保IIS应用程序池标识是“性能监视器用户”组的成员(如果不是,您也会在AI SM中收到警告)。我也没有看到“更新配置”按钮,我们不使用SCOM,因此我认为这不是我的问题的原因... –