Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie das Nginx-Protokollformat

So konfigurieren Sie das Nginx-Protokollformat

WBOY
WBOYnach vorne
2023-05-15 22:43:122320Durchsuche

Ein kleines Reservierungsprogramm wurde gestartet, das das Zugriffsportal über Nginx konfiguriert. Das Standardprotokoll verfügt nicht über die Anforderungszeit, daher muss es so konfiguriert werden, dass die Zugriffsantwortzeit jeder Anforderung zur späteren Bezugnahme und optimierten Verwendung aufgezeichnet wird.

一, das Standardprotokollformat

Das Standardprotokollformat ist wie folgt (das Standardprotokoll ist auskommentiert und das System verwendet es automatisch):

    #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;

2. Das von mir verwendete Protokollformat

Ich füge nur die Antwortzeit hinzu Grundlage der Standardeinstellung Zwei Parameter, die mir mehr Sorgen bereiten: request_time und upstream_response_time

Öffnen und ändern Sie die folgende Konfiguration (ich habe später Format 2 verwendet, mit der Zeit vorne, einfach anzuzeigen):

Protokollformat 1 mit Zeitdatenparametern

    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;

Anpassungsformat 2 der Anzeigereihenfolge der Zeitparameter:

    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;

Hinweis: Die Kommentare von log_format und access_log müssen nicht freigegeben werden.

#Nachdem Sie das Format 2 eingestellt haben, können Sie das verwenden Entsprechender regulärer Ausdruck, um Protokolle anzuzeigen, die länger als 1 Sekunde sind, sind die beiden Schritte wie folgt:

##1.高亮时间数据的正则表达式
tail -f access.log |grep "\[[0-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

##2.大于1秒的日志的正则表达式,即将第一个数字改成[1-9]即可
tail -f access.log |grep "\[[1-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

So konfigurieren Sie das Nginx-Protokollformat

3. Parameter

Beschreibung

  • $remote_addr: Client-Adresse $remote_addr:客户端地址

  • $remote_user:客户端用户名称 

  • $time_local:访问时间和时区

  • $request:请求的URI和HTTP协议

  • $status:HTTP请求状态

  • $body_bytes_sent:发送给客户端文件内容大小

  • $http_referer:url跳转来源

  • $http_user_agent:用户终端浏览器等信息

  • $http_host:请求地址,即浏览器中你输入的地址(IP或域名)

  • $request_time:处理请求的总时间,包含了用户数据接收时间

  • $upstream_response_time:建立连接和从上游服务器接收响应主体的最后一个字节之间的时间

  • $upstream_connect_time:花费在与上游服务器建立连接上的时间

  • $upstream_header_time

$remote_user: Client-Benutzername

$time_local: Zugriffszeit und Zeitzone

$request: Angeforderter URI und HTTP-Protokoll

$status: HTTP-Anfragestatus

$body_bytes_sent: Dateiinhaltsgröße, die an den Client gesendet wird


$http_referer: URL-Sprungquelle<p></p>🎜🎜<code>$http_user_agent: Browser des Benutzerterminals und andere Informationen🎜🎜🎜🎜$http_host: Anforderungsadresse, die Sie eingeben der Browser Die Adresse (IP oder Domänenname) 🎜🎜🎜🎜$request_time: Die Gesamtzeit zur Verarbeitung der Anfrage, einschließlich der Empfangszeit der Benutzerdaten 🎜🎜🎜🎜$upstream_response_time: Stellen Sie die Verbindung her und die Zeit zwischen dem Empfang des letzten Bytes des Antworttexts vom Upstream-Server code>$upstream_header_time code>: Die Zeit zwischen dem Herstellen einer Verbindung und dem Empfang des ersten Bytes des Antwortheaders vom Upstream-Server 🎜🎜🎜🎜 IV. Testeffekt 🎜🎜🎜Standardprotokoll vor der Änderung 🎜🎜🎜🎜127.0 .0.1 - - [03/Mai /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, wie Gecko) Chrome /99.0.4844.51 Safari/537.36"🎜127.0.0.1 - - [03/Mai/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, wie Gecko) Chrome/99.0.4844.51 Safari/537.36"🎜🎜 🎜🎜Nach dem Änderungsprotokoll🎜🎜🎜 🎜127.0.0.1 - - [03/Mai/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, wie Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.025" "0.025"🎜127.0.0.1 - - 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, wie Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.037" "0.037"🎜🎜🎜Sie können sehen, dass nach der Änderung zwei weitere Parameterdaten zur Zeit vorhanden sind, die verwendet werden können zur Reaktionszeitanalyse.🎜

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie das Nginx-Protokollformat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen