Maison  >  Article  >  Opération et maintenance  >  Comment configurer le format de journal Nginx

Comment configurer le format de journal Nginx

WBOY
WBOYavant
2023-05-15 22:43:122407parcourir

Un petit programme de réservation a été lancé, configurant le portail d'accès via Nginx. Le journal par défaut n'a pas d'heure de requête, il doit donc être configuré pour enregistrer le temps de réponse d'accès de chaque demande pour référence future et utilisation optimisée.

一, le format de journal par défaut

Le format de journal par défaut est le suivant (le format par défaut est commenté et le système l'utilisera automatiquement) :

    #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. Le format de journal que j'utilise

J'ajoute uniquement le temps de réponse sur le base du défaut Deux paramètres qui me préoccupent davantage : request_time et Upstream_response_time

Ouvrez et modifiez la configuration suivante (j'ai utilisé le format 2 plus tard, avec l'heure devant, facile à visualiser) :

Format de journal 1 avec paramètres de données temporelles

    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;

Ajustement du format 2 de l'ordre d'affichage des paramètres temporels :

    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;

Remarque : les commentaires de log_format et access_log doivent être libérés. Seule la libération de log_format ne prendra pas effet

#Après le réglage au format 2, vous pouvez utiliser le. Expression régulière correspondante, pour afficher les logs supérieurs à 1 seconde, les deux étapes sont les suivantes :

##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]\]"

Comment configurer le format de journal Nginx

3. Paramètre

Description

  • $remote_addr : Adresse du client $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 : Nom d'utilisateur du client

$time_local : Heure et fuseau horaire d'accès

$request : URI demandé et Protocole HTTP

$status : Statut de la requête HTTP

$body_bytes_sent : Taille du contenu du fichier envoyé au client


$http_referer : source du saut d'URL<p></p>🎜🎜<code>$http_user_agent : navigateur du terminal utilisateur et autres informations🎜🎜🎜🎜$http_host : adresse de demande, qui correspond à ce que vous entrez le navigateur L'adresse (IP ou nom de domaine) 🎜🎜🎜🎜$request_time : Le temps total de traitement de la demande, incluant le temps de réception des données utilisateur 🎜🎜🎜🎜$upstream_response_time : Établir la connexion et Le temps entre la réception du dernier octet du corps de réponse du serveur en amont🎜🎜🎜🎜$upstream_connect_time : Le temps passé à établir la connexion au serveur en amont🎜🎜🎜🎜$upstream_header_time code> : Le temps entre l'établissement d'une connexion et la réception du premier octet de l'en-tête de réponse du serveur en amont 🎜🎜🎜🎜 IV Effet du test 🎜🎜🎜Journal par défaut avant modification 🎜🎜🎜🎜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, comme 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, comme Gecko) Chrome/99.0.4844.51 Safari/537.36"🎜🎜 🎜🎜Journal après modification🎜🎜🎜 🎜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, comme Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.025" "0.025"🎜127.0.0.1 - - [03/mai/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, comme Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.037" "0.037"🎜🎜🎜Vous pouvez voir qu'après la modification, il y a deux autres données de paramètres sur le temps, qui peuvent être utilisées pour l'analyse du temps de réponse.🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer