Nginx 訪問日誌格式設定
訪問日誌
訪問日誌主要記錄客戶端訪問Nginx的每一個請求,格式可以自定義。透過訪問日誌,你可以得到使用者地域來源、跳轉來源、使用終端、某個URL訪問量等相關資訊。Nginx中訪問日誌相關指令主要有兩條:
(1)log_format
log_format用來設定日誌格式,也就是日誌檔案中每條日誌的格式,具體如下:
log_format name(格式名稱) type(格式樣式)
舉例說明如下:
log_format main '$remote_addr $server_name - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_response_time';
上面紅色部分為Nginx預設指定的格式樣式,每個樣式的含義如下:
$remote_addr:遠端客戶端的IP地址。
$server_name:虛擬主機名稱。(通常沒用)
-:空白,用一個“-”佔位符替代,歷史原因導致還存在。(也就是說第三列肯定會有一個‘-’,如果你的配置和上面的例項一樣的話)
$remote_user:遠端客戶端使用者名稱稱,用於記錄瀏覽者進行身份驗證時提供的名字,如登入百度的使用者名稱scq2099yt,如果沒有登入就是空白。
[$time_local]:訪問的時間與時區,比如18/Jul/2012:17:00:01 +0800,時間資訊最後的"+0800"表示伺服器所處時區位於UTC之後的8小時。
$request:請求的URI和HTTP協議,這是整個PV日誌記錄中最有用的資訊,記錄伺服器收到一個什麼樣的請求。
$status:記錄請求返回的http狀態碼,比如成功是200。
$uptream_status:upstream狀態,比如成功是200。
$body_bytes_sent:傳送給客戶端的檔案主體內容的大小,比如899,可以將日誌每條記錄中的這個值累加起來以粗略估計伺服器吞吐量。
$http_referer:記錄從哪個頁面連結訪問過來的。(Post請求是沒有的哦,這個一般在多個網站推廣才比較有用處,用於評估哪個渠道的推廣是有效地)
$http_user_agent:客戶端瀏覽器資訊。(能夠獲取Iphone瀏覽器客戶端的手機型號,ios版本等)
$http_x_forwarded_for:客戶端的真實ip,通常web伺服器放在反向代理的後面,這樣就不能獲取到客戶的IP地址了,透過$remote_add拿到的IP地址是反向代理伺服器的iP地址。反向代理伺服器在轉發請求的http頭資訊中,可以增加x_forwarded_for資訊,用以記錄原有客戶端的IP地址和原來客戶端的請求的伺服器地址。
$upstream_addr:upstream的地址,即真正提供服務的主機地址。
$request_time:整個請求的總時間。
$upstream_response_time:請求過程中,upstream的響應時間。
訪問日誌中一個典型的記錄如下:
36.102.141.85 - - [05/Feb/2016:10:11:51 +0800] "GET /wechat/payment/getJsSdkTicketSign.do?url=http%253A%252F%252Fm.xiaoerzuche.com%252F%253Fopenid%253DoLkaus2gyzbbGOHttCc-71H5ONVU HTTP/1.1" 200 365 "" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13D15 MicroMessenger/6.3.13 NetType/WIFI Language/zh_CN" "-" 0.013 0.013
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30083145/viewspace-1986678/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx日誌格式設定Nginx
- nginx自動切割訪問日誌Nginx
- 修改nginx原始碼改變訪問日誌的時間格式薦Nginx原始碼
- Nginx 訪問日誌實時解析 ngxtopNginx
- 自定義Nginx日誌格式Nginx
- awk統計訪問nginx日誌次數Nginx
- Nginx訪問日誌、Nginx日誌切割、靜態檔案不記錄日誌和過期時間Nginx
- 怎樣設定不讓JBOSS記錄訪問日誌???
- nginx設定預設訪問頁面Nginx
- Nginx配置中的log_format用法梳理(設定詳細的日誌格式)NginxORM
- Linux下使用GoAccess監控Nginx訪問日誌LinuxGoNginx
- nginx檢視實時日誌並設簡單的訪問驗證Nginx
- Centos下Nginx配置WEB訪問日誌並結合shell指令碼定時切割CentOSNginxWeb指令碼
- nginx高階訪客日誌切割Nginx
- apache 訪問日誌如何設定每日新增一個日誌檔案、如何限制大小、設定記錄內容Apache
- 配置Tomcat的訪問日誌格式化輸出Tomcat
- 如何定時切割nginx日誌?Nginx
- Apche日誌系列(1):訪問日誌(轉)
- Nginx訪問日誌詳解——各個部分含義——非常簡單Nginx
- FeignClient配置日誌訪問client
- Nginx設定訪問伺服器某個目錄Nginx伺服器
- Tomcat訪問日誌淺析Tomcat
- 使用Fluentd + Elasticsearch收集訪問日誌Elasticsearch
- nginx環境下,mediawiki靜態訪問路徑設定Nginx
- CentOS6.9安裝Filebeat監控Nginx的訪問日誌傳送到KafkaCentOSNginxKafka
- Nginx日誌配置Nginx
- nginx切割日誌Nginx
- nginx日誌切割Nginx
- nginx 清空日誌Nginx
- AWK應用之統計訪問日誌
- 使用外部表訪問監聽日誌
- 日誌傳送事務日誌備份設定
- 處理nginx訪問日誌,篩選時間大於1秒的請求Nginx
- 設定Spark日誌級別Spark
- 重做日誌大小的設定
- Postgresql日誌歸檔設定SQL
- 設定mybatis 是否列印日誌MyBatis
- SVN提交日誌模板設定