欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx日志格式配置的實(shí)現(xiàn)

 更新時(shí)間:2025年05月21日 10:39:29   作者:Live in Shanxi.  
本文主要介紹了Nginx日志格式配置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Nginx日志格式配置 

Nginx日志一般有main格式(默認(rèn))和json格式兩種

對比總結(jié)

特性默認(rèn)文本格式JSON 格式
性能高性能,占用資源低解析耗時(shí),CPU 占用相對較高
磁盤占用日志簡短,占用小每個(gè)字段都帶有名稱,占用較大
日志分析需要手動解析,較為復(fù)雜結(jié)構(gòu)化數(shù)據(jù),分析工具集成方便
可讀性人眼查看方便不直觀,主要靠日志系統(tǒng)查看
擴(kuò)展性不方便添加新字段靈活添加新字段
集成性兼容傳統(tǒng)日志工具適合與 ELK、EFK 進(jìn)行日志對接

?? 最佳實(shí)踐

  • 性能優(yōu)先: 如果服務(wù)器性能不足,優(yōu)先使用文本格式。
  • 日志分析優(yōu)先: 如果要進(jìn)行集中化日志分析(如 ELK),優(yōu)先使用JSON 格式。
  • 日志分級: 錯(cuò)誤日志使用文本格式,訪問日志使用 JSON 格式,這樣既能高效記錄錯(cuò)誤,又能對業(yè)務(wù)數(shù)據(jù)進(jìn)行分析。
  • 日志切割與歸檔: 及時(shí)進(jìn)行日志切割和清理,避免磁盤爆滿。

?? 總結(jié)

  • 默認(rèn)文本格式: 高性能,低資源消耗,適合輕量級或性能要求高的生產(chǎn)環(huán)境。
  • JSON 格式: 結(jié)構(gòu)化日志,便于分析和監(jiān)控,適合現(xiàn)代化運(yùn)維和日志管理需求。

一、main 日志變量

1. 請求相關(guān)變量

變量名含義示例值
$remote_addr客戶端的 IP 地址192.168.1.1
$remote_user客戶端的認(rèn)證用戶名admin
$request請求的完整字符串(方法 + URI + 協(xié)議)GET /index.html HTTP/1.1
$request_method請求的方法GET, POST
$request_uri原始的請求 URI(包括參數(shù))/index.html?user=123
$uri請求的 URI,不包括查詢參數(shù)/index.html
$args請求的查詢參數(shù)字符串user=123&name=abc
$query_string與 $args 等效,查詢字符串user=123&name=abc
$status響應(yīng)的 HTTP 狀態(tài)碼200, 404
$body_bytes_sent響應(yīng)體大?。ㄗ止?jié)數(shù))2048
$http_referer引薦頁面 URLhttp://example.com/
$http_user_agent客戶端的瀏覽器信息Mozilla/5.0 (Windows NT)

2. 時(shí)間相關(guān)變量

變量名含義示例值
$time_local本地時(shí)間戳19/Mar/2025:04:03:51 +0800
$time_iso8601ISO 8601 格式的時(shí)間戳2025-03-19T04:03:51+08:00
$msec精確到毫秒的 Unix 時(shí)間戳1614768000.123

3. 客戶端相關(guān)變量

變量名含義示例值
$remote_addr客戶端的 IP 地址192.168.1.1
$remote_port客戶端的端口號52345
$http_x_forwarded_for客戶端的原始 IP 地址,通常用于代理鏈路中192.168.1.1
$http_user_agent客戶端的 User-Agent 信息Mozilla/5.0 (Windows NT)
$http_referer請求的來源 URL(如果有的話)http://example.com/

4. 上游服務(wù)器相關(guān)變量

變量名含義示例值
$upstream_addr上游服務(wù)器的地址(包括端口)127.0.0.1:8080
$upstream_status上游服務(wù)器響應(yīng)的狀態(tài)碼200, 502
$upstream_response_time上游服務(wù)器的響應(yīng)時(shí)間(秒)0.125
$upstream_connect_time與上游服務(wù)器建立連接的時(shí)間0.050

5. 請求處理相關(guān)變量

變量名含義示例值
$request_time處理請求所花費(fèi)的總時(shí)間(秒)0.123
$response_time響應(yīng)返回的總時(shí)間(秒)0.098
$upstream_response_time從上游服務(wù)器接收到響應(yīng)的時(shí)間(秒)0.125
$pipe是否通過管道連接處理請求,p 表示是,. 表示不是p

6. Nginx 內(nèi)部變量

變量名含義示例值
$hostnameNginx 主機(jī)名nginx-server
$server_name當(dāng)前處理請求的服務(wù)器名稱www.example.com
$server_addr當(dāng)前處理請求的服務(wù)器 IP 地址192.168.1.1
$nginx_version當(dāng)前 Nginx 的版本號1.21.3

示例配置:Nginx 日志格式

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main

#輸出結(jié)果

192.168.200.1 - - [19/Mar/2025:03:26:35 -0400] "GET /prod-api/captchaImage HTTP/1.1" 200 4137 "http://192.168.200.14/login?redirect=%2Findex" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0" "-"
192.168.200.1 - - [19/Mar/2025:03:26:40 -0400] "POST /prod-api/login HTTP/1.1" 200 239 "http://192.168.200.14/login?redirect=%2Findex" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0" "-"

字段含義:

  • time:
    • 日志時(shí)間戳,采用 ISO 8601 格式。
      • "2025-03-19T04:51:55-04:00":表示 2025 年 3 月 19 日,04:51:55(-04:00 時(shí)區(qū))。
  • request_time:
    • 請求總耗時(shí),單位是秒。
      • "0.000":表示從接收到請求到返回響應(yīng)的時(shí)間為 0 秒,響應(yīng)極快。
  • upstream_response_time:
    • 上游服務(wù)器(如 Tomcat)響應(yīng)時(shí)間,單位是秒。
      • "-":表示當(dāng)前請求沒有經(jīng)過上游服務(wù)器(如靜態(tài)資源請求)。
  • remote_addr:
    • 客戶端 IP 地址。
      • "192.168.200.1":請求是從該 IP 地址發(fā)出的。
  • remote_user:
    • 遠(yuǎn)程用戶的身份認(rèn)證信息。
      • "-":表示未進(jìn)行身份認(rèn)證(或不涉及認(rèn)證)。
  • request:
    • 請求行,包含請求方法、資源路徑和協(xié)議版本。
      • "GET /static/js/chunk-2d0bce05.7b94b559.js HTTP/1.1":表示發(fā)起了 GET 請求,訪問了指定的靜態(tài)資源文件。
  • status:
    • 響應(yīng)狀態(tài)碼,表示請求處理結(jié)果。
      • "200":請求成功。
  • body_bytes_sent:
    • 發(fā)送給客戶端的響應(yīng)體字節(jié)數(shù)。
      • "10029":表示響應(yīng)體大小為 10029 字節(jié)。
  • http_referer:
    • 請求來源的 URL,表示請求是從哪個(gè)頁面發(fā)起的。
      • "http://192.168.200.14/monitor/druid":表示從監(jiān)控頁面發(fā)起的請求。
  • http_user_agent:
    • 客戶端的用戶代理信息,通常包含瀏覽器和操作系統(tǒng)信息。
      • "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
  • http_x_forwarded_for:
    • 用于記錄客戶端真實(shí) IP 地址,通常用于反向代理或負(fù)載均衡場景。
      • "-":表示沒有經(jīng)過代理或沒有攜帶該頭信息。

二、Json常用變量

1.請求相關(guān)變量

變量名含義示例值
$request請求的完整字符串(方法+URI+協(xié)議)GET /index.html HTTP/1.1
$request_method請求方法GET, POST, PUT, DELETE
$request_uri原始請求的 URI(包含參數(shù))/index.html?user=123
$uri請求的 URI(不含參數(shù))/index.html
$args請求的參數(shù)字符串user=123&name=abc
$query_string與 $args 等效user=123&name=abc
$status響應(yīng)狀態(tài)碼200, 404, 500
$protocol請求協(xié)議HTTP/1.1, HTTP/2.0
$host請求主機(jī)名www.example.com
$server_name服務(wù)器名稱example.com
$server_port服務(wù)器端口80, 443

2.時(shí)間和日期相關(guān)變量

變量名含義示例值
$time_iso8601ISO 8601 格式的時(shí)間戳2025-03-19T04:03:51+08:00
$time_local本地時(shí)間戳19/Mar/2025:04:03:51 +0800
$msec精確到毫秒的時(shí)間戳(Unix 時(shí)間戳)1614768000.123

3.客戶端和用戶相關(guān)變量

變量名含義示例值
$remote_addr客戶端 IP 地址192.168.1.1
$remote_port客戶端端口52345
$remote_user已經(jīng)認(rèn)證的用戶名admin
$http_user_agent用戶代理字符串Mozilla/5.0 (Windows NT 10.0...)
$http_referer引薦頁面http://example.com/page.html
$http_x_forwarded_for代理服務(wù)器轉(zhuǎn)發(fā)的原始客戶端 IP 地址192.168.1.1, 172.16.0.1

4.上游和代理相關(guān)變量

變量名含義示例值
$upstream_addr上游服務(wù)器地址(IP:端口)127.0.0.1:8080
$upstream_status上游服務(wù)器返回的狀態(tài)碼200, 502
$upstream_response_time上游服務(wù)器響應(yīng)時(shí)間(秒)0.125
$upstream_connect_time連接上游服務(wù)器所花費(fèi)的時(shí)間(秒)0.050
$upstream_header_time上游服務(wù)器響應(yīng)頭時(shí)間(秒)0.075

5.請求處理和性能相關(guān)變量

變量名含義示例值
$request_time請求從接收到響應(yīng)完成的總時(shí)間(秒)0.245
$body_bytes_sent發(fā)送給客戶端的響應(yīng)字節(jié)數(shù)(不含響應(yīng)頭)1024
$bytes_sent發(fā)送的總字節(jié)數(shù)(包含響應(yīng)頭)2048
$connection連接的序列號12345
$connection_requests當(dāng)前連接上處理的請求數(shù)5

6.系統(tǒng)和環(huán)境變量

變量名含義示例值
$pid處理請求的工作進(jìn)程 ID1234
$pipe表示請求是否通過管道傳輸p(管道),.(直接連接)

示例:JSON 日志格式配置

log_format json '{"time":"$time_iso8601",'
                '"request_time":$request_time,'
                '"upstream_response_time":"$upstream_response_time",'
                '"remote_addr":"$remote_addr",'
                '"remote_user":"$remote_user",'
                '"request":"$request",'
                '"status":$status,'
                '"body_bytes_sent":$body_bytes_sent,'
                '"http_referer":"$http_referer",'
                '"http_user_agent":"$http_user_agent",'
                '"http_x_forwarded_for":"$http_x_forwarded_for"}';

access_log /var/log/nginx/access.log json;

#輸出結(jié)果

{"time":"2025-03-19T04:51:55-04:00","request_time":0.000,"upstream_response_time":"-","remote_addr":"192.168.200.1","remote_user":"-","request":"GET /static/js/chunk-2d0bce05.7b94b559.js HTTP/1.1","status":200,"body_bytes_sent":10029,"http_referer":"http://192.168.200.14/monitor/druid","http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0","http_x_forwarded_for":"-"}
{"time":"2025-03-19T04:51:56-04:00","request_time":0.010,"upstream_response_time":"0.009","remote_addr":"192.168.200.1","remote_user":"-","request":"GET /prod-api/monitor/server HTTP/1.1","status":200,"body_bytes_sent":93,"http_referer":"http://192.168.200.14/monitor/server","http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0","http_x_forwarded_for":"-"}

字段含義:

  • time:

    • 日志時(shí)間戳,采用 ISO 8601 格式。
    • "2025-03-19T04:51:55-04:00":表示 2025 年 3 月 19 日,04:51:55(-04:00 時(shí)區(qū))。
  • request_time:

    • 請求總耗時(shí),單位是秒。
    • "0.000":表示從接收到請求到返回響應(yīng)的時(shí)間為 0 秒,響應(yīng)極快。
  • upstream_response_time:

    • 上游服務(wù)器(如 Tomcat)響應(yīng)時(shí)間,單位是秒。
    • "-":表示當(dāng)前請求沒有經(jīng)過上游服務(wù)器(如靜態(tài)資源請求)。
  • remote_addr:

    • 客戶端 IP 地址。
    • "192.168.200.1":請求是從該 IP 地址發(fā)出的。
  • remote_user:

    • 遠(yuǎn)程用戶的身份認(rèn)證信息。
    • "-":表示未進(jìn)行身份認(rèn)證(或不涉及認(rèn)證)。
  • request:

    • 請求行,包含請求方法、資源路徑和協(xié)議版本。

    • "GET /static/js/chunk-2d0bce05.7b94b559.js HTTP/1.1"
      
      • GET:HTTP 請求方法。
      • /static/js/chunk-2d0bce05.7b94b559.js:請求的資源路徑。
      • HTTP/1.1:協(xié)議版本。
  • status:

    • HTTP 響應(yīng)狀態(tài)碼。
    • 200:表示請求成功。
  • body_bytes_sent:

    • 響應(yīng)體的字節(jié)數(shù)。
    • 10029:表示響應(yīng)大小為 10029 字節(jié)(約 9.8 KB)。
  • http_referer:

    • 引薦頁面,即從哪個(gè)頁面發(fā)起的請求。
    • "http://192.168.200.14/monitor/druid":用戶是從這個(gè)頁面發(fā)起的請求。
  • http_user_agent:

    • 客戶端的瀏覽器和操作系統(tǒng)信息。
    • 瀏覽器:Chrome 134.0.0.0
    • 操作系統(tǒng):Windows 10 x64
  • http_x_forwarded_for:

    • 用于識別通過代理服務(wù)器訪問的客戶端的真實(shí) IP。
    • "-":表示沒有經(jīng)過代理,或沒有傳遞該頭信息。

到此這篇關(guān)于Nginx日志格式配置的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx日志配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Nginx反向代理springboot的jar包過程解析

    Nginx反向代理springboot的jar包過程解析

    這篇文章主要介紹了Nginx反向代理springboot的jar包過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • nginx日志分割 for linux

    nginx日志分割 for linux

    默認(rèn)情況下,nginx是不分割訪問日志的,久而久之,網(wǎng)站的日志文件將會越來越大,占用空間不說,如果有問題要查看網(wǎng)站的日志的話,龐大的文件也將很難打開,于是便有了下面的腳本
    2013-11-11
  • 在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法

    在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法

    在進(jìn)行軟件安裝時(shí),若遇到報(bào)錯(cuò),常見的解決方法之一是檢查是否缺失依賴,并嘗試安裝所需的依賴包,記得去掉尖括號,對于nginx服務(wù)器,配置文件的位置和管理是關(guān)鍵操作之一,通過命令cd進(jìn)入后,使用sudo nano index.nginx-debian.html命令打開并編輯默認(rèn)的html文件
    2024-11-11
  • 詳解如何設(shè)置Nginx實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射

    詳解如何設(shè)置Nginx實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射

    在 Nginx 中實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射是一種常見的做法,本文詳細(xì)介紹如何設(shè)置 Nginx 實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • linux上nginx安裝部署及使用過程詳解

    linux上nginx安裝部署及使用過程詳解

    這篇文章主要介紹了linux上nginx安裝部署及使用過程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-11-11
  • 詳解Nginx如何配置Web服務(wù)器的示例代碼

    詳解Nginx如何配置Web服務(wù)器的示例代碼

    這篇文章主要介紹了詳解 Nginx如何配置Web服務(wù)器的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 讓Nginx支持shtml格式的配置方法

    讓Nginx支持shtml格式的配置方法

    這篇文章主要介紹了讓Nginx支持shtml格式的配置方法,shtml格式可以包含一些服務(wù)端指令,同PHP中的include功能類似,需要的朋友可以參考下
    2014-08-08
  • nginx簡單配置多個(gè)server的方法

    nginx簡單配置多個(gè)server的方法

    這篇文章主要介紹了nginx簡單配置多個(gè)server的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nginx安裝配置的實(shí)現(xiàn)示例

    Nginx安裝配置的實(shí)現(xiàn)示例

    本文主要介紹了Nginx安裝配置的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Nginx使用ngx_http_upstream_module實(shí)現(xiàn)負(fù)載均衡功能示例

    Nginx使用ngx_http_upstream_module實(shí)現(xiàn)負(fù)載均衡功能示例

    本文主要介紹了Nginx使用ngx_http_upstream_module實(shí)現(xiàn)負(fù)載均衡功能示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評論