nginx日誌格式

2021-07-22 11:18:11 字數 1853 閱讀 8482

最近我們要呼叫idl的乙個人臉識別介面,但是人家那個介面是部署在南京機房,並且只能內部呼叫。從最小化成本的考慮,對於海外使用者,我們在香港搭建了乙個nginx走專線中轉進行提速。在國內則是在北京機房。

中轉的配置很簡單,就是乙個簡單的proxypass:

}使用者是對 傳送 http post 請求就能夠**給南京的idl服務。其中post的內容是一張壓縮後的的base64編碼。

用wifi環境**驗都挺順暢的,但是在2g或者3g環境下,會發現有時候識別1分鐘都沒有識別出來。顯然問題應該是出現在網路質量上,但是有沒有資料支撐呢?nginx的access_log應該支援吧。檢視了一下nginx的log配置說明,果然是有相關的引數的。

對於前端使用者請求的資訊:module ngx_http_core_module - embedded variables

對於後端upstream的資訊: module ngx_http_upstream_module - embedded variables

還有其他一些變數 alphabetical index of variables。再結合日誌格式說明:module ngx_http_log_module - log format。於是我們可以這麼配置:

'"$http_user_agent" "$http_x_forwarded_for" ' ;另外,因為我們的post資料比較大,增大buffer的大小可以提到一些效能:

client_max_body_size 10m;

client_body_buffer_size 2m;

超時方面,預設的60s應該足夠,這裡就不做調整。

最終的nginx配置如下:

}}注意到這裡打點統計還可以指定使用那個log,寫到哪個日誌檔案。

notes$request_time 和 $upstream_response_time

需要注意的是,對於http post的請求,兩者相差特別大。因為nginx會把http request body快取住,接受完畢後才會把資料一起發給後端。

[tengine-中文]關於nginx中request_time 和upstream_response_time的疑問

nginx日誌格式

日誌簡介 nginx日誌主要有兩種 訪問日誌和錯誤日誌。訪問日誌主要記錄客戶端訪問nginx的每乙個請求,格式可以自定義 錯誤日誌主要記錄客戶端訪問nginx出錯時的日誌,格式不支援自定義。兩種日誌都可以選擇性關閉。通過訪問日誌,你可以得到使用者地域 跳轉 使用終端 某個url訪問量等相關資訊 通過...

nginx日誌格式

為了更好滿足分析場景,推薦採用如下log format配置。各欄位含義如下 字段 含義remote addr 客戶端位址 remote user 客戶端使用者名稱 time local 伺服器時間 request 請求內容,包括方法名 位址和http協議 使用者請求時使用的http位址 status...

Nginx 日誌格式

日誌格式 常用日誌格式 log format main remote addr remote user stime local request status body bytes sent http referer http user agent http x forwarded for 日誌 此日...