溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx日志格式如何配置

發(fā)布時(shí)間:2023-03-16 10:40:00 來源:億速云 閱讀:99 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Nginx日志格式如何配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Nginx日志格式如何配置”吧!

上線了一個(gè)小的預(yù)約程序,配置通過Nginx進(jìn)行訪問入口,默認(rèn)的日志是沒有請求時(shí)間的,因此需要配置一下,將每一次的請求的訪問響應(yīng)時(shí)間記錄出來,備查與優(yōu)化使用.

一、默認(rèn)的日志格式

默認(rèn)的日志格式如下(默認(rèn)是注解掉的,系統(tǒng)也自動會使用):

    #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  logs/access.log  main;

二、我使用的日志格式

我僅僅在默認(rèn)的基礎(chǔ)上加上響應(yīng)時(shí)間的兩個(gè)我較關(guān)心的參數(shù):request_time與upstream_response_time

將以下的配置開放并修改(我后面用了格式2,時(shí)間在前面,容易查看):

帶時(shí)間數(shù)據(jù)參數(shù)的日志格式1

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

    access_log  logs/access.log  main;

調(diào)整了下時(shí)間參數(shù)的顯示順序的格式2:

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

    access_log  logs/access.log  main;

注意的是:log_format與access_log的注釋都要放開,僅放開log_format也是不生效的.

#設(shè)置成格式2后,可以用相應(yīng)的正則表達(dá)式,查看大于1秒的日志,分兩步如下:

##1.高亮?xí)r間數(shù)據(jù)的正則表達(dá)式
tail -f access.log |grep "\[[0-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

##2.大于1秒的日志的正則表達(dá)式,即將第一個(gè)數(shù)字改成[1-9]即可
tail -f access.log |grep "\[[1-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

Nginx日志格式如何配置

三、參數(shù)

說明

  • $remote_addr:客戶端地址

  • $remote_user:客戶端用戶名稱 

  • $time_local:訪問時(shí)間和時(shí)區(qū)

  • $request:請求的URI和HTTP協(xié)議

  • $status:HTTP請求狀態(tài)

  • $body_bytes_sent:發(fā)送給客戶端文件內(nèi)容大小

  • $http_referer:url跳轉(zhuǎn)來源

  • $http_user_agent:用戶終端瀏覽器等信息

  • $http_host:請求地址,即瀏覽器中你輸入的地址(IP或域名)

  • $request_time:處理請求的總時(shí)間,包含了用戶數(shù)據(jù)接收時(shí)間

  • $upstream_response_time:建立連接和從上游服務(wù)器接收響應(yīng)主體的最后一個(gè)字節(jié)之間的時(shí)間

  • $upstream_connect_time:花費(fèi)在與上游服務(wù)器建立連接上的時(shí)間

  • $upstream_header_time:建立連接和從上游服務(wù)器接收響應(yīng)頭的第一個(gè)字節(jié)之間的時(shí)間

四、測試效果

修改前默認(rèn)日志

127.0.0.1 - - [03/May/2022:12:02:51 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
127.0.0.1 - - [03/May/2022:12:02:51 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1" 200 2553 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"

修改后日志

127.0.0.1 - - [03/May/2022:12:00:47 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.025" "0.025"
127.0.0.1 - - [03/May/2022:12:00:47 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1" 200 2178 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.037" "0.037"

可以看到修改后的最后多了兩個(gè)關(guān)于時(shí)間的參數(shù)數(shù)據(jù),可以用于響應(yīng)時(shí)間快慢分析.

到此,相信大家對“Nginx日志格式如何配置”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI