捕獲請求響應體
功能說明
在排查問題的時候需要檢視請求響應體的內容,這時候可以將請求響應體的輸出到訪問日誌。
這個動作將請求響應體記錄在 response_body 的 Nginx 變數中,供訪問日誌使用。
- 最大響應體大小:最大捕獲的響應體大小,從響應的第一個位元組開始捕獲,捕獲結果儲存在 response_body 變數中。單位:位元組。
注意: 因為捕獲請求體不僅會引入不必要的 CPU 開銷,而且會額外消耗大量的記憶體,同時還產生大量的磁碟寫入事件。所以,開啟該功能會影響閘道器的整體效能和請求的響應速度,對使用者體驗是有直接的影響。因此,開啟該功能時應該準確過濾需要目標請求而不要匹配所有請求,在不使用該功能的時候請關閉捕獲請求體的動作
示例
首先在 全域性配置 - 通用 - 日誌 - 訪問日誌格式
中新增一個新的日誌格式。我們將新的格式命名為 req-resp-body。
$request_time $remote_addr $http_host "$request-body" "$response-body"
接著在 應用 - "具體應用" - 設定 - 訪問日誌
中選擇新新增的訪問日誌格式。
最後我們新增捕獲動作,設定最大捕獲響應體的體大小為 4096 位元組。
至此,所有配置已經完成,讓我們釋出配置到線上。