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

前端应用状态码0的API请求失败记录未在Azure Application Insights日志中显示

针对Azure多实例API入站请求监控及问题排查方案

一、直接监控实例级入站请求的方法

  • 启用应用服务实例级日志
    在Azure门户的应用服务中,进入「监控」>「日志流」,选择具体实例查看实时请求日志。同时在「配置」>「日志」里开启「HTTP日志」(文件系统或Blob存储),日志会记录所有到达实例的请求,包括请求状态、来源、时间戳等信息,哪怕请求没进入应用代码也会被捕获。
  • 使用Azure Monitor指标筛选实例维度
    在Azure Monitor中,针对应用服务的「入站请求」指标,添加「实例」维度拆分数据,这样可以查看每个实例的请求量、失败率差异,快速定位是否某一个实例存在异常。
  • 配置Azure Application Gateway日志(如果使用)
    如果你的API前端部署了Application Gateway作为负载均衡,开启Gateway的访问日志和性能日志,日志会记录所有到达Gateway的请求,包括那些未转发到后端实例的请求,能排查负载均衡层面的转发问题。

二、补充排查方向(针对CORS/状态码0问题)

  • 检查浏览器缓存的CORS规则
    部分浏览器会缓存CORS预检请求结果,即便后端配置变更,旧缓存可能导致异常。可以在浏览器开发者工具的「网络」面板中,勾选「禁用缓存」重新测试,或者清除对应域名的缓存数据。
  • 验证实例间的配置一致性
    虽然配置是代码级的,但部署时可能存在实例更新不一致的情况。可以通过Kudu工具(应用服务的SCM站点)分别登录两个实例,检查appsettings.json或中间件配置是否完全一致,确认没有实例处于旧版本状态。
  • 排查TCP层面的连接问题
    状态码0通常表示请求在TCP握手阶段失败,可能是实例的端口占用、网络ACL规则限制,或者Azure内部网络波动。可以在应用服务的「网络」>「访问限制」中检查是否有异常规则,同时查看「资源健康」面板确认实例是否存在临时网络故障。

三、确认请求是否到达后端的额外手段

  • 添加实例级自定义日志
    在API的入口中间件(比如Program.cs中)添加一行日志,记录请求的基本信息(请求ID、来源IP、实例ID),并将日志输出到控制台或App Insights。如果App Insights中没有该请求日志,说明请求确实未到达应用代码。
  • 使用Azure Network Watcher
    启用Network Watcher的「连接监视器」,针对应用服务实例和前端客户端的IP地址创建监控,追踪请求的网络路径,排查是否存在中间节点的丢包或延迟问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:35:22