如何自定義日志格式,就需要修改nginx日志打印格式
一. 打開終端,登錄服務器并輸入服務器密碼
//ssh 用戶名@服務器ip
ssh root@192.168.0.132
?文章來源地址http://www.zghlxwxcb.cn/news/detail-569607.html
二. 切換到nginx目錄
cd /var/log/nginx/
三. 查看nginx日志
tail -f access.log
日志說明:
//默認的nginx標準日志格式
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"
//默認的nginx標準日志格式說明
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
- $remote_addr 客戶端IP地址
- $remote_user 客戶端用戶名稱,一般為空
- [$time_local] 訪問時間
- “$request” 記錄請求HTTP的方式以及URL
- $status 狀態(tài)碼
- $body_bytes_sent 發(fā)送給客戶端的文件大小
- “$http_referer” 記錄從哪個頁面訪問過來的
- “$http_user_agent” 記錄客戶端相關信息
可以看到,默認的nginx標準日志是不包括接口響應時間的,如果想要看nginx接口響應時間,需要修改nginx配置
四. 修改nginx日志格式
在終端查看nginx狀態(tài)及nginx配置文件位置
nginx -t
打開nginx配置文件
vi /etc/nginx/nginx.conf
編輯nginx配置文件
|
添加" r e q u e s t t i m e " , request_time", requestt?ime",request_time 單位秒,處理完請求需要花的時間
?
輸入完成之后按esc鍵退出編輯模式,在終端輸入:wq保存并退出
|
重啟nginx使nginx配置生效
|
重啟之后再進去nginx目錄下查看日志就帶時間啦
文章來源:http://www.zghlxwxcb.cn/news/detail-569607.html
?
五. 其他日志參數(shù)說明
$http_x_forwarded_for #客戶端的真實ip通常web服務器放在反向代理的后面這樣就不能獲取到客戶的IP地址了通過$remote_add拿到的IP地址是反向代理服務器的iP地址。反向代理服務器在轉發(fā)請求的http頭信息中可以增加x_forwarded_for信息用以記錄原有客戶端的IP地址和原來客戶端的請求的服務器地址。$remote_addr # 遠程客戶端的IP地址
$remote_user #遠程客戶端用戶名稱用于記錄瀏覽者進行身份驗證時提供的名字如果沒有登錄就是空白。
$time_local #訪問的時間與時區(qū)比如18/Jul/2012:17:00:01 +0800時間信息最后的"+0800"表示服務器所處時區(qū)位于UTC之后的8小時。
$request_method #HTTP請求方法,通常為"GET"或"POST"
$scheme #請求使用的Web協(xié)議,"http" 或 "https"
$host #HTTP請求行的主機名>"HOST"請求頭字段>符合請求的服務器名.請求中的主機頭字段,如果請求中的主機頭不可用,則為服務器處理請求的服務器名稱
$request_uri #這個變量等于包含一些客戶端請求參數(shù)的原始URI,它無法修改,請查看$uri更改或重寫
$uri #請求中的當前URI(不帶請求參數(shù),參數(shù)位于$args),可以不同于瀏覽器傳遞的$request_uri的值,它可以通過內部重定向,或者使用index指令進行修改,$uri不包含主機名,如"/foo/bar.html"
$query_string #請求中的參數(shù)值
$server_protocol #服務器的HTTP版本,通常為 "HTTP/1.0" 或 "HTTP/1.1"
$status #HTTP響應代碼
$body_bytes_sent #傳輸給客戶端的字節(jié)數(shù),響應頭不計算在內;這個變量和Apache的mod_log_config模塊中的"%B"參數(shù)保持兼容
$http_referer #url跳轉來源,用來記錄從那個頁面鏈接訪問過來的
$http_user_agent #用戶終端瀏覽器等信息
$request_time #處理客戶端請求使用的時間,單位為秒,精度毫秒; 從讀入客戶端的第一個字節(jié)開始,直到把最后一個字符發(fā)送給客戶端后進行日志寫入為止。
$upstream_addr #真正提供服務的主機地址
$request_id #生產唯一ID方便查詢問題
$upstream_response_time #請求過程中upstream的響應時間
到了這里,關于微服務系列文章 之 nginx日志格式分析以及修改的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!