Nginx 日志格式剖析

Nginx的log日志分为access log 和 error log

其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息

error log 则是记录服务器错误日志

错误日志的形式如下:

10.1.1.1 - - [22/Aug/2015:16:48:14 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 367 "-" "Dalvik/1.6.0 (Linux; U; Android 4.1.1; ARMM7K Build/JRO03H)" "119.189.56.175" 127.0.0.1:8090 0.022 0.022 
10.1.1.1 - - [22/Aug/2015:16:48:19 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 616 "-" "Dalvik/1.6.0 (Linux; U; Android 4.0.4; GT-I9103 Build/IMM76D)" "36.250.89.22" 127.0.0.1:8090 0.036 0.036

从上面我们可以看出几部分信息:

1.客户端(用户)IP地址。如:上例中的 10.1.1.1 (内网负载均衡地址)

2.访问时间。如:上例中的 [22/Aug/2015:16:48:19 +0800]

3.访问端口。如:上例中的 127.0.0.1:8080

4.响应时间。如:上例中的 0.022

5.请求时间。如:上例中的 0.022

6.用户地理位置代码(国家代码)。

7.请求的url地址(目标url地址)的host。如:上例中的 /....

8.请求方式(GET或者POST等)。如:上例中的 GET

9.请求url地址(去除host部分)。如:上例中的 /html/test.html

10.请求状态(状态码,200表示成功,404表示页面不存在,301表示永久重定向等,具体状态码可以在网上找相关文章,不再赘述)。如:上例中的 "200"

11.请求页面大小,默认为B(byte)。如:上例中的 2426

12.来源页面,即从哪个页面转到本页,专业名称叫做“referer”。如:上例中的 "http://a.com"

13.用户浏览器语言。如:上例中的 "es-ES,es;q=0.8"

14. 用户浏览器其他信息,浏览器版本、浏览器类型等。如:上例中的  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"

其实nginx access日志的格式不是一成不变的,是可以自定义的。

在nginx的nginx.conf配置文件找到:log_format 这里就是日志的格式

看一下和上述日志匹配的log格式设置:

#access日志格式配置,具体参数不再细说,上面都已经说过了,自己对应一下即可

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘
                       ‘$upstream_addr $upstream_response_time $request_time ‘;
    access_log  logs/access.log  main;

#配置access log日志的存储位置及文件,注意:access.log文件是可以按日期进行分割的,方便查看及处理

access_log  /usr/local/nginx/log/access.log  main;

相关说明解释

 1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
 2.$remote_user :用来记录客户端用户名称;
 3.$time_local : 用来记录访问时间与时区;
 4.$request : 用来记录请求的url与http协议;
 5.$status : 用来记录请求状态;成功是200,
 6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;
 7.$http_referer :用来记录从那个页面链接访问过来的;
 8.$http_user_agent :记录客户端浏览器的相关信息;

时间: 2024-10-11 21:41:52

Nginx 日志格式剖析的相关文章

Nginx日志格式以及相关配置

一.Nginx日志格式以及参数说明log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for&

nginx日志格式及自定义日志配置

nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务器错误日志 错误日志的形式如下: 10.1.1.1 - - [22/Aug/2014:16:48:14 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 367 "-" "Dalvik/1.6.0 (Linux; U; An

Nginx日志格式与日志切割篇三

一:作用 Ngx_http_log_module:定义日志格式,并且以指定的格式保存. 二:示例配置 log_format compression '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access_log

自定义Nginx日志格式获取IP地址的省市份信息

注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_addr^A$msec^A$http_host^A$request_uri 然后准备好了获取的日志数据 创建工程编写代码: 创建执行类和方法 基本结构 创建一个日期处理的工具类 完成简单的IP和时间存放 判断请求参数,利用?判断 如果请求的日志信息拿不到 也没有必要获取其它信息了 将请求信息获取的处理方法

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" "$upstr

Nginx日志格式

1 log_format main '"someTag" "versionInfo" "$remote_addr" "$host" "$time_iso8601" ' 2 '"$request_method" "$server_port" "$request_uri" "$server_protocol" ' 3 '"

nginx自定义日志格式

nginx日志格式的设计 根据开发要求我们要在nginx的日志中打印一些特殊信息,所以必须自定义一些日志, #设置user_id的默认值 set $user_id "0"; #设置user_kind的默认值 set $user_kind "-"; #设置uuid的默认值 set $uuid "_"; www.2cto.com if ( $http_cookie ~* "user_id=([0-9]*)" ){ set $use

Nginx日志管理和切割

一.日志分类 Nginx日志主要分为两种,访问日志和错误日志.两种日志可以在http和server模块中配置,nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义 1.访问日志 访问日志主要记录客户端访问Nginx的每一个请求 log_format用来设置日志格式,只能在http模块下设置 log_format name   name(格式名称)   type(格式样式) 下面是默认的nginx日志格式: log_format

Nginx教程(三) Nginx日志管理

1 日志管理 1.1 Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 1.2 Nginx日志格式 打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf 日志部分内容: #access_log  logs/access.log  main; 日志生成的到Nginx根目录lo