我正在尝试将Application Insights改造成现有的应用程序,但无论我做什么,我似乎只能从前端获得遥测:
(注意“添加应用程序洞察SDK ...” Banner ,“无数据”警告,显然所有服务器响应和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 Insights Agent,但这完全没有区别我能看到!
似乎有很多类似的问题,但它们似乎都没有解决方案,解决方法是删除并重新添加nuget包(尝试过)或者有多个ApplicationInsights.config文件(已检查并且没有' T)...
注:此应用程序通常在AWS EC2中的VM上运行,但没有阻止任何出站流量的防火墙规则,我也尝试在本地运行它...
2 回答
是的,问题是您找到的WebTelemetryInitializerNotExecutedOnNullHttpContext消息 . 查看source code,这意味着HttpContext.Current为null .
我不确定为什么会出现这种情况,所以请您详细说明您的网络应用程序结构?您是否在VM上运行IIS?
搞定了,但无法解释 .
从头开始,这次它起作用,即使我最初的尝试并且从头开始上次没有 .
我注意到有一些新功能,例如与Code Lens的集成,所以我不知道 could 出了什么问题,因为添加Application Insights并不是一个复杂的过程!)