应用程序洞察(部分)缺少数据

时间:2016-11-07 12:08:36

标签: asp.net-mvc azure-application-insights

我正在尝试将Application Insights改造成现有应用,但无论我做什么,我似乎只能从前端获得遥测:

Application Insights dashboard

(注意“添加应用程序见解SDK ...”横幅,“无数据”警告,显然所有服务器响应和0服务器请求的0ms - 服务器响应时间的小蓝半圆只是当前选定的点)

我安装了以下nuget包的v2.1.0:

"Microsoft.ApplicationInsights"
"Microsoft.ApplicationInsights.Agent.Intercept"
"Microsoft.ApplicationInsights.DependencyCollector"
"Microsoft.ApplicationInsights.NLogTarget"
"Microsoft.ApplicationInsights.PerfCounterCollector"
"Microsoft.ApplicationInsights.Web"
"Microsoft.ApplicationInsights.WindowsServer"
"Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"

并将我的检测密钥添加到ApplicationInsights.config文件中:

  <InstrumentationKey>{my key here}</InstrumentationKey>
</ApplicationInsights>

我还监控了通过ETW的事件,我看到很多消息表明数据已经记录,尽管还有很多消息说:

WebTelemetryInitializerNotExecutedOnNullHttpContext

但不确定这是不是问题?

为了进一步混淆,某些服务器端数据确实似乎正在通过,因为应用程序映射如下所示:

Application Map

我也尝试在盒子上安装Application Insights Agent,但这让我看不出任何差别!

似乎有很多类似的问题,但它们似乎都没有解析,解决方法是删除并重新添加nuget包(尝试过)或者有多个ApplicationInsights.config文件(已检查和没有)......

N.B。此应用程序通常在AWS EC2中的VM上运行,但没有阻止任何出站流量的防火墙规则,我也尝试在本地运行它...

3 个答案:

答案 0 :(得分:0)

是的,问题是您找到的WebTelemetryInitializerNotExecutedOnNullHttpContext消息。查看source code,这意味着HttpContext.Current为null。

我不确定为什么会出现这种情况,所以请您详细说明您的网络应用结构?您是否在VM上运行IIS?

答案 1 :(得分:0)

搞定了,但无法解释。

从头开始,这次它起作用了,尽管我最初的尝试并且从头开始上次没有。

我注意到有一些新功能,例如与Code Lens的集成,所以我不知道Application Insights中是否有任何更改,或连续两次出错(尽管我不知道可能出错了,因为添加Application Insights并不是一个复杂的过程!)

答案 2 :(得分:0)

对于ASP.NET项目,也请考虑使用的天蓝色区域。 “德国西部中部”地区存在问题。它不会将所有数据同步到蔚蓝的应用程序见解。我们通过将应用程序洞察天蓝色实例切换到“欧洲西部”区域来解决了我们的问题(ASP.NET CORE项目没有问题)。

我不知道为什么MS不提这个事实,但是经过数小时的搜索,我们发现了以下github条目-> https://github.com/microsoft/ApplicationInsights-dotnet/issues/1931