nginx日志格式分析以及修改詳解
修改nginx日志打印格式
一. 打開終端,登錄服務(wù)器并輸入服務(wù)器密碼
//ssh 用戶名@服務(wù)器ip ssh root@192.168.0.132
二. 切換到nginx目錄
cd /var/log/nginx/
三. 查看nginx日志
tail -f access.log
日志說明:
//默認(rèn)的nginx標(biāo)準(zhǔn)日志格式 192.168.10.251 - - [24/Apr/2022:15:07:52 +0800] "POST /web-api/api/tableTemp/getAllDataCount HTTP/1.1" 200 173 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" "127.0.0.1" //默認(rèn)的nginx標(biāo)準(zhǔn)日志格式說明 $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
- $remote_addr 客戶端IP地址
- $remote_user 客戶端用戶名稱,一般為空
- [$time_local] 訪問時(shí)間
- “$request” 記錄請求HTTP的方式以及URL
- $status 狀態(tài)碼
- $body_bytes_sent 發(fā)送給客戶端的文件大小
- “$http_referer” 記錄從哪個(gè)頁面訪問過來的
- “$http_user_agent” 記錄客戶端相關(guān)信息
可以看到,默認(rèn)的nginx標(biāo)準(zhǔn)日志是不包括接口響應(yīng)時(shí)間的,如果想要看nginx接口響應(yīng)時(shí)間,需要修改nginx配置
四. 修改nginx日志格式
在終端查看nginx狀態(tài)及nginx配置文件位置
nginx -t
打開nginx配置文件
vi /etc/nginx/nginx.conf
編輯nginx配置文件
//進(jìn)入編輯狀態(tài) i
添加" r e q u e s t t i m e " , request_time", requestt?ime",request_time 單位秒,處理完請求需要花的時(shí)間
輸入完成之后按esc鍵退出編輯模式,在終端輸入:wq保存并退出
:wq
重啟nginx使nginx配置生效
nginx -s reload
重啟之后再進(jìn)去nginx目錄下查看日志就帶時(shí)間啦
五. 其他日志參數(shù)說明
$http_x_forwarded_for #客戶端的真實(shí)ip通常web服務(wù)器放在反向代理的后面這樣就不能獲取到客戶的IP地址了通過$remote_add拿到的IP地址是反向代理服務(wù)器的iP地址。反向代理服務(wù)器在轉(zhuǎn)發(fā)請求的http頭信息中可以增加x_forwarded_for信息用以記錄原有客戶端的IP地址和原來客戶端的請求的服務(wù)器地址。$remote_addr # 遠(yuǎn)程客戶端的IP地址 $remote_user #遠(yuǎn)程客戶端用戶名稱用于記錄瀏覽者進(jìn)行身份驗(yàn)證時(shí)提供的名字如果沒有登錄就是空白。 $time_local #訪問的時(shí)間與時(shí)區(qū)比如18/Jul/2012:17:00:01 +0800時(shí)間信息最后的"+0800"表示服務(wù)器所處時(shí)區(qū)位于UTC之后的8小時(shí)。 $request_method #HTTP請求方法,通常為"GET"或"POST" $scheme #請求使用的Web協(xié)議,"http" 或 "https" $host #HTTP請求行的主機(jī)名>"HOST"請求頭字段>符合請求的服務(wù)器名.請求中的主機(jī)頭字段,如果請求中的主機(jī)頭不可用,則為服務(wù)器處理請求的服務(wù)器名稱 $request_uri #這個(gè)變量等于包含一些客戶端請求參數(shù)的原始URI,它無法修改,請查看$uri更改或重寫 $uri #請求中的當(dāng)前URI(不帶請求參數(shù),參數(shù)位于$args),可以不同于瀏覽器傳遞的$request_uri的值,它可以通過內(nèi)部重定向,或者使用index指令進(jìn)行修改,$uri不包含主機(jī)名,如"/foo/bar.html" $query_string #請求中的參數(shù)值 $server_protocol #服務(wù)器的HTTP版本,通常為 "HTTP/1.0" 或 "HTTP/1.1" $status #HTTP響應(yīng)代碼 $body_bytes_sent #傳輸給客戶端的字節(jié)數(shù),響應(yīng)頭不計(jì)算在內(nèi);這個(gè)變量和Apache的mod_log_config模塊中的"%B"參數(shù)保持兼容 $http_referer #url跳轉(zhuǎn)來源,用來記錄從那個(gè)頁面鏈接訪問過來的 $http_user_agent #用戶終端瀏覽器等信息 $request_time #處理客戶端請求使用的時(shí)間,單位為秒,精度毫秒; 從讀入客戶端的第一個(gè)字節(jié)開始,直到把最后一個(gè)字符發(fā)送給客戶端后進(jìn)行日志寫入為止。 $upstream_addr #真正提供服務(wù)的主機(jī)地址 $request_id #生產(chǎn)唯一ID方便查詢問題 $upstream_response_time #請求過程中upstream的響應(yīng)時(shí)間
總結(jié)
到此這篇關(guān)于nginx日志格式分析以及修改的文章就介紹到這了,更多相關(guān)nginx日志格式修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過Nginx配置實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)數(shù)據(jù)庫的操作指南
項(xiàng)目開發(fā)部署中經(jīng)常會(huì)遇到MySQL或Oracle數(shù)據(jù)庫安裝在內(nèi)網(wǎng),而我們的應(yīng)用服務(wù)只能部署在外網(wǎng),如果實(shí)現(xiàn)外網(wǎng)服務(wù)訪問連接內(nèi)網(wǎng)的數(shù)據(jù)庫呢?本次介紹如何通過Nginx配置實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)數(shù)據(jù)庫,需要的朋友可以參考下2023-10-10Nginx實(shí)現(xiàn)404頁面的方法小結(jié)
這篇文章主要介紹了Nginx實(shí)現(xiàn)404頁面的方法小結(jié),需要的朋友可以參考下2017-08-08Nginx 安裝筆記(含PHP支持、虛擬主機(jī)、反向代理負(fù)載均衡)
Nginx安裝簡記(含PHP支持、虛擬主機(jī)、反向代理負(fù)載均衡) Nginx,據(jù)說高性能和穩(wěn)定性比Apache還牛,并發(fā)連接處理能力強(qiáng),低系統(tǒng)資源消耗。目前已有250多萬web站點(diǎn)在使用2009-10-10Nginx各個(gè)模塊的配置及常用配置選項(xiàng)
本文總結(jié)了Nginx常用配置選項(xiàng),包括url匹配優(yōu)先級、請求轉(zhuǎn)發(fā)、日志配置、超時(shí)配置、靜態(tài)文件處理以及負(fù)載均衡的各項(xiàng)算法,對Nginx?模塊配置相關(guān)知識感興趣的朋友一起看看吧2022-01-01