Nginx Access Log and Error Log Parameter Description

  • 2021-09-11 21:48:28
  • OfStack

Description:

There are two main types of nginx logs: access logs and error logs. The access log records every request of the client to access nginx, including the user's geographical source, jump source, user terminal, an URL access volume and other information, and the access log format can be customized; Error log records the log when the client accesses nginx with errors, and the format does not support customization. Through error log, you can get the performance bottleneck of a certain service or server of the system. Both logs can be turned off selectively.

Access log [Access. log]

log_format main '$remote_addr $remote_user [$time_local] "$request" $http_host'
'$status $upstream_status $body_bytes_sent "$http_referer"'
'"$http_user_agent" $ssl_protocol $ssl_cipher $upstream_addr'
'$request_time $upstream_response_time';

变量名称

变量描述

举例说明

$remote_addr

客户端地址

113.140.15.90

$remote_user

客户端用户名称

$time_local

访问时间和时区

18/Jul/2012:17:00:01 +0800

$request

请求的URI和HTTP协议

“GET /pa/img/home/logo-alipay-t.png HTTP/1.1”

$http_host

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

img.alipay.com

10.253.70.103

$status

HTTP请求状态

200

$upstream_status

upstream状态

200

$body_bytes_sent

发送给客户端文件内容大小

547

$http_referer

跳转来源

 “https://cashier.alipay.com…/”

$http_user_agent

用户终端代理

“Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;

$ssl_protocol

SSL协议版本

TLSv1

$ssl_cipher

交换数据中的算法

RC4-SHA

$upstream_addr

后台upstream的地址,即真正提供服务的主机地址

10.228.35.247:80

$request_time

整个请求的总时间

0.205

$upstream_response_time

请求过程中,upstream响应时间

0.002

Online example:

116.9. 137.90 [02/Aug/2012: 14:47:12 +0800] "GET/images/20100324752729. png HTTP/1.1" img.alipay.com 200 200 203 8 https://cashier.alipay.com/PaymentResult/PaymentResult? payNo=XX & outBizNo=2012XX "Mozilla/4. 0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4. 0; SLCC2; NET CLR 2.0. 50727; NET CLR 3.5. 30729; NET CLR 3.0. 30729; Media Center PC 6.0; Tablet PC 2.0; 360SE)" TLSv1 AES128-SHA 10.228. 21.237

Offline testing ($http_referer):

10.14. 21.197 [14/Aug/2012: 17:28:22 +0800] "GET/spanner/watch/v1? db=ztg-1 & mode=compare & index = status & option = & cluster = whole & -F=2012%2F8%2F12-00%3A00%3A00 & -T=%2B2880 & -i=1 & -n=0 & _ = 1344936501292 HTTP/1. 1 "200 941 93" http://spanner. alipay. net/optionFrame/history. html "" Mozilla/5. 0 (Windows NT 6.1) AppleWebKit/537. 1 (KHTML, like Gecko) Chrome/21. 0.1180.60 Safari/537. 1 "

Note: $http_referer is related to redirection.

Error Log [Error. log]

错误信息 错误说明
“upstream prematurely(过早的) closed connection” 请求uri的时候出现的异常,是由于upstream还未返回应答给用户时用户断掉连接造成的,对系统没有影响,可以忽略
“recv() failed (104: Connection reset by peer)” (1)服务器的并发连接数超过了其承载量,服务器会将其中1些连接Down掉; (2)客户关掉了浏览器,而服务器还在给客户端发送数据; (3)浏览器端按了Stop
“(111: Connection refused) while connecting to upstream” 用户在连接时,若遇到后端upstream挂掉或者不通,会收到该错误
“(111: Connection refused) while reading response header from upstream” 用户在连接成功后读取数据时,若遇到后端upstream挂掉或者不通,会收到该错误
“(111: Connection refused) while sending request to upstream” Nginx和upstream连接成功后发送数据时,若遇到后端upstream挂掉或者不通,会收到该错误
“(110: Connection timed out) while connecting to upstream” nginx连接后面的upstream时超时
“(110: Connection timed out) while reading upstream”

nginx读取来自upstream的响应时超时

“(110: Connection timed out) while reading response header from upstream” nginx读取来自upstream的响应头时超时
“(110: Connection timed out) while reading upstream” nginx读取来自upstream的响应时超时
“(104: Connection reset by peer) while connecting to upstream” upstream发送了RST,将连接重置
“upstream sent invalid header while reading response header from upstream” upstream发送的响应头无效
“upstream sent no valid HTTP/1.0 header while reading response header from upstream” upstream发送的响应头无效
“client intended to send too large body” 用于设置允许接受的客户端请求内容的最大值,默认值是1M,client发送的body超过了设置值
“reopening logs” 用户发送kill  -USR1命令
“gracefully shutting down”, 用户发送kill  -WINCH命令
“no servers are inside upstream” upstream下未配置server
“no live upstreams while connecting to upstream” upstream下的server全都挂了
“SSL_do_handshake() failed” SSL握手失败
“SSL_write() failed (SSL:) while sending to client”  
“(13: Permission denied) while reading upstream”  
“(98: Address already in use) while connecting to upstream”  
“(99: Cannot assign requested address) while connecting to upstream”  
“ngx_slab_alloc() failed: no memory in SSL session shared cache” ssl_session_cache大小不够等原因造成
“could not add new SSL session to the session cache while SSL handshaking” ssl_session_cache大小不够等原因造成
“send() failed (111: Connection refused)”  


Related articles: