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; 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/2014: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/2014: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 :记录客户端浏览器的相关信息;

转载自:http://blog.chinaunix.net/uid-29179844-id-4433640.html

时间: 2024-10-12 19:54:23

nginx日志格式及自定义日志配置的相关文章

访问日志格式的自定义

在第一小节中经过几步一个访问日志组件已成型,但为了增加用户自定义能力我们还是要继续做点事,对于用户自定义的实现最经典的做法就是引入变量表示,例如定义%a表示远程主机IP.%A表示本机IP等等,然后在写入之前用相应逻辑把变量替换成相应的值写入日志.这节我们来实现日志格式的自定义支持. 整个过程其实是先自定义变量组,再逐个把变量替换成相应值,最后把替换后的值写入文件.由于需要实现很多不同的变量,所以定义一个接口用于约束所有变量添加操作的定义,定义一个addElement方法,通过从request和r

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日志切割,日志格式,静态文件不记录日志,配置缓存

我是直接写的一个简单的shell实现的,内容如下: #! /bin/bash datedir=`date +%Y%m%d` /bin/mkdir  /home/logs/$datedir >/dev/null 2>&1 /bin/mv /home/logs/*.log /home/logs/$datedir /bin/kill -HUP `cat /var/run/nginx.pid` 这样执行以后,就会在/home/logs/$datedir目录下生成日志文件,你可以在/etc/cr

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配置日志格式记录cookie

Nginx配置日志格式记录cookie1. 一般用来做UV统计,或者获取用户token等. 配置方式:  在nginx的配置文件中有个变量:$http_cookie来获取cookie的信息.配置方式很简单,只需要在nginx配置文件的http段,新添加一个log_format就可以了:http{log_format  hehe  '$remote_addr - $remote_user [$time_local] "$request" '               '$status

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

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

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

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; An

Nginx配置(日志服务器中关于日志的产生)

一:概括 1.需要配置的概括 定义日志格式 日志的分割字段:^A 日志格式:IP地址^A服务器时间^A请求参数 配置location,记录请求日志到本地磁盘 将数据按照给定的日志格式存储到本地磁盘 二:配置 1.进入主目录 2.新建日志目录 3.配置conf/nginx.conf 三:测试 1.上传图片到html 2.启动ndinx sbin/nginx 3.页面登录 日志: 4.再次检测 http://linux-hadoop3.ibeifeng.com/BEIfeng.gif?en=e_l&