首页 > 代码库 > nginx 日志格式
nginx 日志格式
1 http { 2 3 log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ 4 ‘$status $body_bytes_sent "$http_referer" ‘ 5 ‘"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$upstream_response_time" "$upstream_cache_status"‘; 6 7 } 8 9 日志变量解释说明:10 11 $remote_addr: 与$http_x_forwarded_for 用以记录客户端的ip地址;12 13 $remote_user : 用来记录客户端用户名称;14 15 $time_local : 用来记录访问时间与时区;16 17 $request : 用来记录请求的url与http协议;18 19 $status : 用来记录请求状态;成功是200;20 21 $body_bytes_sent :记录发送给客户端文件主体内容大小;22 23 $http_referer : 用来记录从那个页面链接访问过来的;24 25 $http_user_agent : 记录客户端浏览器的相关信息;26 27 $http_x_forwarded_for: 它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项;28 29 $request_time: 指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间;30 31 $upstream_response_time: 是指从Nginx向后端(php-cgi)建立连接开始到接受完数据然后关闭连接为止的时间。32 $upstream_cache_status: 这个变量来显示缓存的状态,命中为HIT,为了能够统计缓存的命中率,我们需要在日志中记录这一状态
$upstream_cache_status包含以下几种状态:
·MISS 未命中,请求被传送到后端
·HIT 缓存命中
·EXPIRED 缓存已经过期请求被传送到后端
·UPDATING 正在更新缓存,将使用旧的应答
·STALE 后端将得到过期的应答
统计方法:用HIT的数量除以日志总量得出缓存命中率:
awk ‘{if($NF=="\"HIT\"") hit++} END {printf "%.2f%",hit/NR}‘ access.log
nginx 日志格式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。