天天看點

【API管理 APIM】如何檢視APIM中的Request與Response詳細資訊,如Header,Body中的參數内容

問題描述

通過APIM門戶或者是Developer門戶,我們可以通過Test功能測試某一個接口,通過Trace可以擷取非常詳細的Request,Response的資訊,包含Header,X-Forward-To,及Respnse的資訊。但是,當我們正式使用時,确無法得到這些資訊。APIM門戶及日志中都沒有儲存請求中攜帶的客戶資料,這樣在調查有些錯誤與請求攜帶的參數相關時候,則非常難以排查。

問題原因

對于APIM的請求中的Header,Body等資訊,都是使用者資料,平台針對此類敏感資料,為了規避合規風險,不會再日志中保留此類資訊。

而通過APIM的Test功能,可以發現如下内容:

【API管理 APIM】如何檢視APIM中的Request與Response詳細資訊,如Header,Body中的參數内容

而如果想要再正式使用時,也把每一個請求的Header, Body儲存下來,則需要借助另一個元件  --- 開啟 Application Insights, 或者是Azure Monitor。

解決辦法

再開啟Application Insights後,就可以為需要Request的Header, Body等資訊的API也配置Application Insights日志記錄,詳細可以參考文檔 ---- 為 API 啟用 Application Insights 日志記錄

【API管理 APIM】如何檢視APIM中的Request與Response詳細資訊,如Header,Body中的參數内容

配置完成後,發送請求。則可以通過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

【API管理 APIM】如何檢視APIM中的Request與Response詳細資訊,如Header,Body中的參數内容
【API管理 APIM】如何檢視APIM中的Request與Response詳細資訊,如Header,Body中的參數内容

參考文檔

如何将 Azure API 管理與 Azure Application Insights 內建: https://docs.azure.cn/zh-cn/api-management/api-management-howto-app-insights

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀