nginx日志格式分析

nginx日志格式分析先截取一个nginx标准日志:’$remote_addr-$remote_user[$time_local]””$request”$status$body_bytes_sent””$http_referer””$h…

大家好,又见面了,我是你们的朋友全栈君。

先随便截取一个nginx标准日志:

 62.173.145.171 - - [12/Jan/2020:17:23:54 +0800] "GET /vvx/000000000000.cfg HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"

默认的nginx标准日志格式如下:

$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"

$remote_addr 客户端IP地址

$remote_user 客户端用户名称,一般为空

[$time_local] 访问时间

“$request” 记录请求HTTP的方式以及URL

$status 状态码

$body_bytes_sent 发送给客户端的文件大小

“$http_referer” 记录从哪个页面访问过来的

“$http_user_agent” 记录客户端相关信息

我们可以修改nginx的日志输出格式

在nginx.conf文件中,默认有这样一段:

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

这其中有个$http_x_forworded_for ,当前端有代理服务器时,设置web节点记录客户端IP,同时代理服务器也需要进行相关http_x_forworded_for的配置

我们可以改成

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" "$request_time"'
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent"';

$request_time 单位秒,处理完请求需要花的时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137545.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号