【API管理 APIM】如何查看APIM中的Request与Response详细信息,如Header,Body中的参数内容

问题描述

通过APIM门户或者是Developer门户,我们可以通过Test功能测试某一个接口,通过Trace可以获取非常详细的Request,Response的信息,包含Header,X-Forward-To,及Respnse的信息。但是,当我们正式使用时,确无法得到这些信息。APIM门户及日志中都没有保存请求中携带的客户数据,这样在调查有些错误与请求携带的参数相关时候,则非常难以排查。

问题原因

对于APIM的请求中的Header,Body等信息,都是用户数据,平台针对此类敏感数据,为了规避合规风险,不会再日志中保留此类信息。

而通过APIM的Test功能,可以发现如下内容:

而如果想要再正式使用时,也把每一个请求的Header, Body保存下来,则需要借助另一个组件  --- 开启 Application Insights, 或者是Azure Monitor。

解决办法

再开启Application Insights后,就可以为需要Request的Header, Body等信息的API也配置Application Insights日志记录,详细可以参考文档 ---- 为 API 启用 Application Insights 日志记录

配置完成后,发送请求。则可以通过Application Insights查看请求中Header, Body信息。

补充:如果要通过Application Insights来记录请求的所有信息,就保持 Headers to Log中的内容为空。这样就会记录全部的body, header信息:https://docs.microsoft.com/en-us/answers/questions/418811/capture-header-parts-of-request-body-in-apim-log-a.html

 

参考文档

如何将 Azure API 管理与 Azure Application Insights 集成: https://docs.azure.cn/zh-cn/api-management/api-management-howto-app-insights

 

posted @ 2020-09-24 22:41  路边两盏灯  阅读(665)  评论(2编辑  收藏  举报