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

如何查看Azure APIM的请求源?解决Application Insights异常溯源问题

追踪Azure APIM请求来源的可行方法
  • 借助APIM默认捕获的请求头
    Azure APIM会自动收集X-Forwarded-For(客户端IP地址)、Referer(请求发起源地址)、User-Agent(调用方标识信息)等请求头字段。在Application Insights的日志查询中,针对异常对应的请求记录,筛选这些字段即可获取初步的调用来源线索。如果是后端服务调用,部分服务会在User-Agent中携带自身的名称或版本信息。

  • 启用端到端分布式追踪
    在APIM实例的配置中开启分布式追踪,并关联到你的Application Insights资源。此后每个经过APIM的请求都会生成完整的追踪链路,你可以在Application Insights的「事务搜索」模块中找到异常对应的请求,查看追踪链的上游节点,直接定位发起调用的服务。

  • 通过自定义策略记录调用方标识
    如果默认信息不足以定位,可以在APIM的入站策略中添加自定义逻辑,提取请求中的特定标识(比如自定义请求头X-Caller-Service、API密钥关联的应用名称等),并将其写入日志字段。示例策略如下:

    <inbound>
        <set-variable name="callerService" value="@(context.Request.Headers.GetValueOrDefault("X-Caller-Service", "Unidentified"))" />
        <log-to-application-insights logger-id="your-ai-logger">
            @($"Caller Service: {context.Variables["callerService"]}, Request ID: {context.RequestId}")
        </log-to-application-insights>
    </inbound>
    

    配置完成后,就能在Application Insights中通过这个自定义字段筛选查询调用方信息。

  • 分析APIM访问日志
    开启APIM的访问日志功能(可将日志存储至存储账户或Log Analytics),日志中包含请求源IP、请求头、请求时间等详细数据。通过RequestId将这些日志与Application Insights中的异常记录关联,就能精准回溯调用来源。

内容的提问来源于stack exchange,提问作者Deloitte-Swat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:57:15