log_format main escape=json
‘{“@timestamp”:”$time_iso8601″,’
‘”@source”:”$server_addr”,’
‘”hostname”:”$hostname”,’
‘”host”:”$host”,’
‘”domain”:”$server_name”,’
‘”ip”:”$http_x_forwarded_for”,’
‘”client”:”$remote_addr”,’
‘”request_method”:”$request_method”,’
‘”remote_port”:”$remote_port”,’
‘”scheme”:”$scheme”,’
‘”referer”:”$http_referer”,’
‘”request”:”$request_uri”,’
‘”args”:”$args”,’
‘”request_length”:$request_length,’
‘”size”:$body_bytes_sent,’
‘”status”:$status,’
‘”responsetime”:$request_time,’
‘”upstreamtime”:”$upstream_response_time”,’
‘”upstreamaddr”:”$upstream_addr”,’
‘”http_user_agent”:”$http_user_agent”,’
‘”http_cookie”:”$http_cookie”,’
‘”https”:”$https”,’
‘”ssl_protocol”:”$ssl_protocol”,’
‘”ssl_cipher”:”$ssl_cipher”,’
‘”x_request_id”:”$sent_http_x_request_id”,’
‘”request_id”:”$request_id”‘
‘}’
- $remote_user
记录客户端的认证用户名,如果有身份验证的话。nginxCopy code'"remote_user":"$remote_user"'
- $time_local
本地时间戳,格式为[dd/Mon/yyyy:hh:mm:ss zone]
。nginxCopy code'"@timestamp":"$time_local"'
- $request_length
请求体的长度(包括请求头和请求数据)。nginxCopy code'"request_length":$request_length'
- $body_bytes_sent
服务器向客户端发送的响应体字节数。nginxCopy code'"body_bytes_sent":$body_bytes_sent'
- $http_referer
引荐页面,通常表示请求从哪个页面跳转过来。nginxCopy code'"referer":"$http_referer"'
- $http_user_agent
客户端发送的User-Agent
字段,用于记录客户端浏览器、操作系统等信息。nginxCopy code'"http_user_agent":"$http_user_agent"'
- $http_cookie
客户端发送的Cookie
信息。nginxCopy code'"http_cookie":"$http_cookie"'
- $uri
请求的 URI(不包含查询参数)。nginxCopy code'"uri":"$uri"'
- $request_time
处理请求的总时间(以秒为单位,精确到毫秒)。nginxCopy code'"request_time":$request_time'
- $upstream_response_time
从上游服务器收到响应的时间(如果存在)。nginxCopy code'"upstream_time":"$upstream_response_time"'
- $upstream_addr
上游服务器的地址。nginxCopy code'"upstream_addr":"$upstream_addr"'
- $remote_port
客户端的端口号。nginxCopy code'"remote_port":"$remote_port"'
- $server_name
服务器的名称。nginxCopy code'"server_name":"$server_name"'
- $ssl_cipher
使用的 SSL 加密套件(如果请求是通过 HTTPS 进行的)。nginxCopy code'"ssl_cipher":"$ssl_cipher"'
- $ssl_protocol
使用的 SSL 协议(例如 TLSv1.2, TLSv1.3 等)。nginxCopy code'"ssl_protocol":"$ssl_protocol"'
- $geoip_city
使用 GeoIP 模块记录客户端的城市(需要 GeoIP 模块支持)。nginxCopy code'"city":"$geoip_city"'
- $geoip_country
使用 GeoIP 模块记录客户端的国家。nginxCopy code'"country":"$geoip_country"'
- $sent_http_x_request_id
如果你的应用程序中有设置自定义的X-Request-Id
请求标识符,可以通过此变量记录。nginxCopy code'"x_request_id":"$sent_http_x_request_id"'
- $request_id
记录 Nginx 自动生成的请求标识符。nginxCopy code'"request_id":"$request_id"'
通过组合这些参数,你可以记录更加详细的日志,帮助分析请求、流量、性能等各方面的信息。根据你的需求,可以灵活调整和扩展日志格式。
发表评论