You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service中Application Insights无数据显示问题排查求助

可能原因与排查方向

一、部署槽交换引发的配置优先级冲突

  • Azure App Service门户启用Application Insights时,会自动添加APPINSIGHTS_INSTRUMENTATIONKEY等应用设置。部署槽交换时,若该设置被标记为**“槽设置”**,交换后会直接覆盖目标槽的对应配置:
    • 检查生产槽的应用设置,确认APPINSIGHTS_INSTRUMENTATIONKEY指向正确的AI资源,且未被标记为槽设置(若不需要槽独立配置,取消“槽设置”标记)
    • 查看是否存在ApplicationInsightsAgent_EXTENSION_VERSION,若值为~2或更高,说明启用了自动检测扩展,此扩展会覆盖手动配置的ApplicationInsights.config,可能引发冲突
  • 注意:.NET Framework应用中,应用设置的优先级高于本地ApplicationInsights.config,若门户配置的密钥与本地文件不一致,会以应用设置为准;若应用设置被意外清空或覆盖,直接导致数据无法上报

二、ApplicationInsights.config配置验证

针对你提供的配置文件,重点检查以下几点:

  • 确认<InstrumentationKey>节点值与门户配置的密钥完全一致,为空或错误值会直接阻断上报
  • 验证核心遥测模块是否完整启用,缺失关键模块会导致数据采集/发送失败:
    <TelemetryModules>
      <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"/>
      <Add Type="Microsoft.ApplicationInsights.Extensibility.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector"/>
      <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
    </TelemetryModules>
    
  • 检查<TelemetryChannel>的EndpointAddress,若为中国区Azure,需确保端点指向https://dc.applicationinsights.azure.cn/v2/track(全球区默认无需手动设置)
  • 确认<DisableTelemetry>属性为false,若为true会完全禁用遥测采集

三、.NET Framework 4.7.2专属排查点

  • 核对Application Insights NuGet包版本:.NET Framework 4.7.2需使用2.21.0及以上版本的Microsoft.ApplicationInsights.Web,旧版本存在槽交换后的兼容性问题
  • 检查web.config中的HTTP模块配置,缺失以下模块会导致请求追踪失效:
    <system.webServer>
      <modules>
        <add name="TelemetryCorrelationHttpModule" type="Microsoft.ApplicationInsights.Web.TelemetryCorrelationHttpModule, Microsoft.AI.Web" preCondition="managedHandler"/>
        <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler"/>
      </modules>
    </system.webServer>
    
  • 确认应用池的.NET CLR版本设置为v4.0,误用v2.0会导致AI模块无法加载

四、数据上报管道验证

  • 通过Kudu控制台(https://<你的应用名>.scm.azurewebsites.net/DebugConsole)查看D:\home\LogFiles\ApplicationInsights下的日志,若存在报错(如密钥无效、端点不可达、权限不足),直接定位问题
  • 添加测试代码手动发送遥测,验证基础上报通道:
    var telemetryClient = new Microsoft.ApplicationInsights.TelemetryClient();
    telemetryClient.TrackEvent("ManualTestTelemetry");
    telemetryClient.Flush();
    System.Threading.Thread.Sleep(1000); // 确保数据发送完成
    
    若AI收到该事件,说明自动采集模块异常;若未收到,说明密钥或端点配置错误
  • 检查AI资源的使用情况和预估成本页面,确认是否达到数据配额上限,超出配额会暂停接收数据

五、重新创建槽后的残留配置问题

  • 即使重新创建生产槽,若部署包中包含旧的ApplicationInsights.config或web.config,会覆盖门户设置,建议清理部署包中的本地AI配置文件,仅依赖门户自动生成的应用设置
  • 重启应用池,确保新配置生效,部分配置变更需重启才能加载

内容的提问来源于stack exchange,提问作者markzzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:17:06