nginx 日志 log_format 及字段说明

Posted 狗哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 日志 log_format 及字段说明相关的知识,希望对你有一定的参考价值。

1、log_format 普通格式

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"‘;

2、log_format JSON 格式

log_format logJson ‘{ 
                         "@timestamp": "$time_local", ‘
                         ‘"@fields": { ‘
                         ‘"remote_addr": "$remote_addr", ‘
                         ‘"remote_user": "$remote_user", ‘
                         ‘"body_bytes_sent": "$body_bytes_sent", ‘
                         ‘"request_time": "$request_time", ‘
                         ‘"status": "$status", ‘
                         ‘"request": "$request", ‘
                         ‘"request_method": "$request_method", ‘
                         ‘"http_referrer": "$http_referer", ‘
                         ‘"body_bytes_sent":"$body_bytes_sent", ‘
                         ‘"http_x_forwarded_for": "$http_x_forwarded_for", ‘
                         ‘"http_user_agent": "$http_user_agent" } 
                         }‘;

3、指定日志格式

access_log  /data/logs/nginx/access.log  logJson buffer=32k;
access_log  /data/logs/nginx/access.log  main buffer=32k; 

4、字段释义

字段

说明

$remote_addr 客户端地址
$remote_user 客户端用户名称
$time_local 访问时间和时区
$request 请求的URI和HTTP协议
$http_host 请求地址,即浏览器中你输入的地址(IP或域名)
$status HTTP请求状态
$upstream_status upstream状态
$body_bytes_sent 发送给客户端文件内容大小
$http_referer url跳转来源
$http_user_agent 用户终端浏览器等信息
$ssl_protocol SSL协议版本
$ssl_cipher 交换数据中的算法
$upstream_addr 后台upstream的地址,即真正提供服务的主机地址
$request_time 整个请求的总时间
$upstream_response_time 请求过程中,upstream响应时间

以上是关于nginx 日志 log_format 及字段说明的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置log_format日志格式不生效

nginx之旅(第二篇):nginx日志管理nginx防盗链nginx虚拟主机

Nginx访问日志日志切割静态文件不记录日志和过期时间

Linux下玩转nginx系列---nginx日志配置文件说明

Linux下玩转nginx系列---nginx日志配置文件说明

log_format为Nginx设置日志格式