nginx的post命令記錄body到日誌中

2021-10-06 09:34:17 字數 577 閱讀 8364

最近打算使用elk搭建日誌收集系統,前端移動端通過http請求傳送日誌請求到後端,後端記錄日誌到日誌檔案中,filebeat讀取日誌檔案,推送到logstash,因為沒有任何業務**,後端的http伺服器使用效能較高的nginx(springboot與netty測試結果另外在其他文章中討論),nginx的post請求寫日誌費了一番周折,這裡記錄一下,以免後續忘記;

nginx-1.12.2.tar.gz

luajit-2.0.5.tar.gz

v0.10.9rc7.tar.gz

編譯後出現編譯出錯,替換v0.10.9rc7.tar.gz解決,之前用了低版本的包導致的;

解決nginx訪問日誌記錄post資料

注意:日誌需要在模組中重新定義才能正常輸出post的請求;

因為是用在日誌伺服器中,前端需要定時積累日誌資料並採用定時傳送,在傳送非常大的資料的時候發現log日誌中的記錄為空,查了資料發現預設post請求的最大長度不夠(content-lenth大概12k左右就不寫日誌了),修改引數 「client_body_buffer_size」

參考文章:

整個過程參考:

nginx日誌記錄post的引數

nginx的日誌通過調整log format格式可以記錄所有請求資訊 回答群裡盆友乙個問題 nginx 日誌,可以記錄post的引數嗎?答 可以實現,通過設定log format指令的引數。log format指令是用來控制nginx如何記錄http請求。預設的nginx記錄日誌格式是注釋掉的,如果...

日常 nginx記錄post資料

1.使用log format指令來更改日誌格式,該指令只能放在http 段 log format 日誌名 日誌內容 server 2.request body是nginx的內建變數,可以記錄post的資料 3.測試 4.其他nginx內建變數 time local 格式化的時間 request 請求...

Nginx正確記錄post日誌的方法

nginx正確記錄post日誌的方法 事實上可以很簡單,這取決於把 access log 放在哪個 location 裡面。一,放到包含fastcgi pass或proxy pass的location裡面。如下 php view plaincopy location php post log 為 h...