如何确认Application Insights已连接至.NET 4.8 API Web应用?
排查.NET 4.8 API未在Application Insights应用地图中显示的问题及网站加载慢的解决思路
一、验证API的Application Insights连接状态(通过Kudu DiagnosticServices)
- 进入目标API的Kudu控制台,打开
https://<你的API应用名称>.scm.azurewebsites.net/DiagnosticServices页面 - 重点检查以下项:
- 确认Application Insights模块处于启用状态,且运行状态为"Running"
- 核对页面显示的Instrumentation Key,确保与你使用的Application Insights资源的密钥完全一致
- 查看页面下方的日志输出,排查是否存在AI遥测发送失败的错误(如密钥无效、权限不足等)
- 同步检查API的
web.config配置文件,确认AI配置项正确:
同时确认项目已安装适配.NET 4.8的<appSettings> <add key="ApplicationInsights:InstrumentationKey" value="你的AI资源密钥" /> </appSettings>Microsoft.ApplicationInsights.WebNuGet包
二、排查应用地图未显示API调用的原因
- 先确认前端是否真的触发了API请求:打开浏览器开发者工具的网络面板,检查页面加载过程中是否有向API地址发送的请求,以及请求的响应状态
- 检查AI采样率配置:如果采样率设置过低,会导致部分请求未被捕获。可在
web.config中调整采样率为100%(排查阶段使用,后续可按需调整):<ApplicationInsights> <TelemetryChannel> <SamplingPercentage>100</SamplingPercentage> </TelemetryChannel> </ApplicationInsights> - 确认网络连通性:检查API应用的出站规则,确保允许访问Application Insights的遥测端点(如
https://dc.services.visualstudio.com/v2/track),同资源组内默认允许,但需排除自定义网络策略的限制 - 注意应用地图的延迟:遥测数据同步到应用地图可能需要10-15分钟,排查时可等待一段时间后再刷新页面查看
三、网站加载慢的关联排查步骤
- 定位耗时节点:通过浏览器网络面板,先确认是前端资源加载慢,还是前端调用API的请求耗时过长
- 追踪API内部调用:如果API响应慢,在API代码中添加自定义依赖遥测,明确第三方API的调用耗时:
using Microsoft.ApplicationInsights; using Microsoft.ApplicationInsights.DataContracts; // 初始化TelemetryClient(建议全局单例) private static readonly TelemetryClient _telemetryClient = new TelemetryClient(); public async Task<IActionResult> YourApiMethod() { using(var operation = _telemetryClient.StartOperation<DependencyTelemetry>("第三方API调用")) { try { // 调用第三方API的逻辑 var response = await CallThirdPartyApi(); operation.Telemetry.Success = true; operation.Telemetry.Duration = response.ElapsedTime; } catch(Exception ex) { operation.Telemetry.Success = false; _telemetryClient.TrackException(ex); } } // 其他逻辑 } - 检查第三方API状态:查看第三方API的响应是否存在超时、限流、错误等情况,这是API耗时过长的常见原因
内容的提问来源于stack exchange,提问作者user575219
相关产品推荐
相关产品推荐

