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

如何在Application Insights中跟踪Azure Function的401错误?

Azure Function 401未授权请求的日志追踪方案

为什么401请求没出现在Application Insights中

当你传入错误的x-functions-key时,请求的授权验证是由Azure Functions的前端网关完成的,这个过程不会进入你的函数应用代码逻辑,所以默认不会被Application Insights的常规追踪捕获——只有真正进入函数执行流程的请求,才会被AI记录相关日志。

开启401请求日志的方法

1. 启用平台日志

要捕获网关层的验证失败事件,需要开启函数应用的平台日志:

  • 进入Azure门户的函数应用页面,左侧菜单选择监测 > 日志
  • 切换到平台日志标签,开启HTTP日志和函数应用日志
  • 保存配置后,401这类网关层的请求会被记录到AppServiceHTTPLogs或FunctionAppLogs表中

2. 用Kusto查询筛选日志

启用平台日志后,在日志查询界面可以用以下语句快速定位401记录:

// 查询HTTP日志中的401请求
AppServiceHTTPLogs
| where StatusCode == 401
| where RequestUri contains "/api/你的函数路径"
| project TimeGenerated, StatusCode, RequestUri, ClientIP, UserAgent

或者查看函数网关的授权失败日志:

// 查询函数应用日志中的授权失败信息
FunctionAppLogs
| where Message contains "Authorization failed"
| project TimeGenerated, Message, RequestId

3. 调整Application Insights采样配置(可选)

如果AI的采样规则过滤了失败请求,检查host.json中的采样设置,确保没有排除请求类的遥测:

{
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "", // 避免排除Request类型,或按需调整过滤规则
        "maxTelemetryItemsPerSecond": 5
      }
    }
  }
}

其他查看途径

  • 函数应用监测 > 指标:添加Http 4xx指标,可以查看401请求的数量趋势,但无法获取单条请求的详细信息
  • 函数应用的诊断设置:可以将平台日志导出到存储账户、事件中心或Log Analytics工作区,方便长期存储和分析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:04:59