Azure Application Insights自动采集未捕获ASP.NET MVC API调用问题求助
ASP.NET MVC API应用Application Insights自动采集失效排查建议
问题背景
我们将ASP.NET MVC应用部署为三个Windows App Service:
- 主页
- Web门户
- 供Xamarin移动端调用的API
使用Application Insights自动采集功能监控调用时,主页和门户的采集正常,但API的调用无法被捕获。已完成以下验证:
- 所有Web应用均已关联Application Insights资源
- 已针对.NET环境完成采集配置
- 日志流中可看到API调用记录,但未被Application Insights捕获
- 应用地图显示三个实例均已连接
- API已从基础采集配置切换为推荐配置,启用了Profiler和代码优化
- 已确认自动采集的兼容性
补充说明:API实例可捕获SQL连接,但无法捕获API调用,希望避免手动修改代码实现采集,怀疑存在遗漏配置。
更新信息:通过Kudu检查发现其中一个实例自动采集运行异常,状态信息如下:
Status source C:\home\LogFiles\ApplicationInsights\status\status_***_3040_2.json Auto-Instrumentation enablement has failed. To troubleshoot, please read the full troubleshooting guide here. AppType aspnet MachineName *** PID 3040 AppDomainId 2 AppDomainName /LM/*** InstrumentationEngineLoaded False InstrumentationEngineExtensionLoaded False SiteName *** RedfieldIISModuleLoaded True AppContainsDiagnosticSourceAssembly True
其余4个实例状态显示Auto-Instrumentation enabled successfully.
对应的status文件内容:
{ "AppType":"aspnet", "MachineName":"***", "PID":"3040", "AppDomainId":"2", "AppDomainName":"/LM/W3SVC/***/ROOT-1-***", "InstrumentationEngineLoaded":false, "InstrumentationEngineExtensionLoaded":false, "SiteName":"***", "RedfieldIISModuleLoaded":true, "AppContainsDiagnosticSourceAssembly":true }
排查建议
针对自动采集引擎加载失败的实例
- 检查.NET版本匹配度:确认API应用使用的.NET Framework版本为4.6.2及以上,旧版本(如4.6.1以下)可能存在自动采集兼容性问题,需升级至推荐版本。
- 验证组件完整性:通过Kudu控制台检查
C:\Program Files\Microsoft Application Insights路径下的Instrumentation Engine相关文件是否完整,若存在损坏或缺失,可重启该异常实例触发组件重装。 - 排查AppDomain隔离问题:状态显示当前AppDomain为非默认域,检查API应用的web.config是否配置了自定义AppDomain,尝试调整为默认AppDomain运行,确保自动采集能正确注入。
- 确认权限配置:检查App Service运行身份(默认ApplicationPoolIdentity)对
C:\Program Files\Microsoft Application Insights目录是否有读取和执行权限,权限不足会导致引擎加载失败。
针对API调用未捕获的通用排查
- 验证路由规则兼容性:检查API的自定义路由配置,避免使用过于特殊的路由约束或格式,确保自动采集能识别API端点请求。
- 排查SDK依赖冲突:若API项目手动引用了旧版Application Insights SDK NuGet包,可能与自动采集组件冲突,需移除手动引用的SDK包,或检查Kudu的Site extensions是否存在冲突扩展。
- 检查请求过滤与采样配置:查看web.config中的请求过滤器配置,确认未拦截采集逻辑;同时检查Application Insights的采样规则,确保未误排除API请求。
- 查看详细错误日志:在Kudu的
C:\home\LogFiles\ApplicationInsights路径下查找与Instrumentation Engine加载相关的具体报错日志,定位文件缺失、版本不匹配等具体问题。
内容的提问来源于stack exchange,提问作者Yohanes AI
相关产品推荐
相关产品推荐

