nginx日志配置
一.参考文档
官网:https://nginx.org/en/docs/http/ngx_http_log_module.html
二. 各参数作用
1.nginx配置文件配置方法
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
2.参数及作用
$remote_addr: 记录客户端的 IP 地址。
$remote_user: 如果请求中包含用户名(如使用 HTTP 认证),这里会记录该用户名。如果没有用户名,这里会显示为 -。
[$time_local]: 记录访问时间,格式为 dd/MMM/yyyy:HH:mm:ss,例如 26/Aug/2024:18:11:42。
"$request": 记录请求的完整 URL 及其请求方法(如 GET 或 POST),以及 HTTP 版本(如 HTTP/1.1)。
$status: 记录 HTTP 响应状态码(如 200、404、500 等)。
$body_bytes_sent: 记录发送到客户端的响应体的字节数。
"$http_referer": 记录 HTTP Referer 头部的值,即用户从哪个页面链接到当前请求的页面。
"$http_user_agent": 记录 HTTP User-Agent 头部的值,提供了发出请求的浏览器或客户端程序的信息。
"$http_x_forwarded_for": 记录 HTTP X-Forwarded-For 头部的值,通常用于记录原始请求的来源 IP 地址,特别在使用代理或负载均衡器时,原始请求 IP 可能会被这个头部字段记录。
"$server_port":服务器端口号
"$request_method":记录HTTP 请求的方法,例如 GET、POST、PUT、DELETE 等。
"$realip_remote_port":记录客户端的端口
$bytes_sent 发送给客户端的总字节数
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小
$connection 连接序列号
$connection_requests 当前通过连接发出的请求数量
$msec 日志写入时间,单位为秒,精度是毫秒
$pipe 如果请求是通过http流水线发送,则其值为"p",否则为“."
$request_length 请求长度(包括请求行,请求头和请求体)
$request_time 请求处理时长,单位为秒,精度为毫秒,从读入客户端的第一个字节开始,直到把最后一个字符发送张客户端进行日志写入为止
$time_iso8601 标准格式的本地时间,形如“2017-05-24T18:31:27+08:00”
$time_local 通用日志格式下的本地时间,如"24/May/2017:18:31:27 +0800"
$http_referer 请求的referer地址。
$http_user_agent 客户端浏览器信息。
$remote_addr 客户端IP
$http_x_forwarded_for 当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。
$request 完整的原始请求行,如 "GET / HTTP/1.1"
$remote_user 客户端用户名称,针对启用了用户认证的请求
$request_uri 完整的请求地址,如 "https://daojia.com/"

浙公网安备 33010602011771号