部署时缺少Application Insights请求和依赖遥测

时间:2019-07-17 19:11:05

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

Application Insights遥测缺少针对IIS托管的MVC api(在传递了其他API的所有事件类型的IIS上)的请求和依赖项事件。在我的开发箱中本地运行的相同位可以完美工作。

我是否在本地Visual Studio 2017安装帮助了我的服务器上缺少某些MVC特定的IIS组件?我还有其他需要看的东西吗?

我已向其中添加了Application Insights遥测功能(包括用于诊断跟踪的TraceListener)的.NET 4.6.2的MVC应用程序(MS.AspNet.Mvc 5.2.7)。

当我在本地开发箱IIS(带有或不带有VS2017调试器的v10.0.16299.15)上运行应用程序时,我在Azure的AI存储桶中看到了请求,跟踪和依赖项。

当我手动将位(不进行任何更改,包括配置)复制到另一个框并将其连接到IIS(v8.5.9600.16384)时,我仅在Azure的AI存储桶中看到跟踪遥测(请求和此API缺少相关遥测)。相同的(非本地框)IIS承载了其他非MVC API,这些API已成功将请求,跟踪和依赖项事件写入Azure。

packages.config:
"Microsoft.ApplicationInsights" version="2.10.0"
"Microsoft.ApplicationInsights.Agent.Intercept" version="2.4.0"
"Microsoft.ApplicationInsights.DependencyCollector" version="2.10.0"
"Microsoft.ApplicationInsights.TraceListener" version="2.10.0"
"Microsoft.ApplicationInsights.Web" version="2.10.0"
"Microsoft.ApplicationInsights.WindowsServer" version="2.10.0"
"Microsoft.AspNet.Mvc" version="5.2.7"
"Microsoft.AspNet.Razor" version="3.2.7"
"Microsoft.AspNet.TelemetryCorrelation" version="1.0.5"
"Microsoft.AspNet.Web.Optimization" version="1.1.3"
"Microsoft.AspNet.WebApi.Client" version="5.2.7"
"Microsoft.AspNet.WebApi.Core" version="5.2.7"
"Microsoft.AspNet.WebApi.WebHost" version="5.2.7"
"Microsoft.AspNet.WebPages" version="3.2.7"
web.config:
    <httpModules>
      <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.1, Version=13.1.14.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
      <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" />
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
    </httpModules>
...
    <modules runAllManagedModulesForAllRequests="true">
      <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.1, Version=13.1.14.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
      <remove name="TelemetryCorrelationHttpModule" />
      <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
      <remove name="ApplicationInsightsWebTracking" />
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
    </modules>
...
  <system.diagnostics>
    <trace autoflush="true" indentsize="0">
      <listeners>
        <add name="myAppInsightsListener" type="Microsoft.ApplicationInsights.TraceListener.ApplicationInsightsTraceListener, Microsoft.ApplicationInsights.TraceListener" />
      </listeners>
    </trace>
  </system.diagnostics>

预期:Azure应该收到请求,跟踪和依赖遥测事件。

实际:Azure仅接收跟踪遥测事件。

更新: 添加了AIStream软件包: https://www.nuget.org/packages/ApplicationInsights.Stream

在本地IIS上观看该应用程序的AIStream浏览器输出,所有预期的遥测事件类型都存在(请求,跟踪,依赖关系)。

观看远程服务器IIS上应用程序的AIStream浏览器输出,预期的遥测事件类型并不全部存在(仅显示跟踪)。

因此,该应用程序显然不会发出缺少的Application Insights事件类型。

0 个答案:

没有答案