nginx05 日志管理

nginx05 日志管理

1. nginx.conf文件样例


#user  nobody;
worker_processes  2;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
        include       mime.types;
        default_type  application/octet-stream;

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

    log_format  yq  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" '
                      '$connection $upstream_addr '
                                            '$upstream_response_time $request_time '
                                            '$http_cookie';

    access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  30;\
    server_tokens off;

    gzip on;
    gzip_min_length  1000;
    gzip_buffers     4 8k;
    gzip_types       text/plain application/x-javascript text/css application/xml;

    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;

    client_header_buffer_size 4k;

    upstream  eservice {
        server   10.32.48.31:7015;
    }

    upstream  taobao {
        server   10.32.48.100:7001 max_fails=0;
        server   10.32.48.106:7001 max_fails=0;
        server   10.32.48.107:7001 max_fails=0;
    }

    upstream  thirdIF {
        server   10.32.48.79:7001 max_fails=0;
        server   10.32.48.80:7001 max_fails=0;
    }

    upstream  third {
                server   10.56.81.179:7004 max_fails=0;
        #server   10.32.48.80:7001 max_fails=0;
        }

    upstream mtp {
        server 10.56.81.180:7001;
    }
    server {        
        listen       7009;
            server_name  gh_open;
            include proxy.conf;

             #ssl on;
            #ssl_certificate      /weblogic/nginx/key/server.pem;
                #ssl_certificate_key  /weblogic/nginx/key/server.key;
                #ssl_session_timeout  5m;
                #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                #ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        #ssl_prefer_server_ciphers   on;

        location / {
                        proxy_pass http://10.56.81.137:7001;
                }


            location /coop/xinlian/ {
                    proxy_pass http://www.baidu.com;
                }

        #过滤地址
             location /uddiexplorer/ {
                        return 404;
        }

                location /console {
            return 404;
                }       
    }
    server {
        listen       8008;
                server_name  eservice_stg;
                include proxy.conf;

        location / {
                        proxy_pass http://10.56.80.129:7001;
                }
                location ^~ /ebiz/third/noahwm.action {
                        rewrite ^/ebiz/third/noahwm.action?$ /third/entry.do?partner=noahwm& last;
                }   
                #过滤地址
        location /uddiexplorer/ {
            return 404;
                }

                location /console {
            return 404;
                }
        }
}

2.nginx日志管理的意义

1.通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;
2.通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。

3.nginx日志管理的指令

access_log
log_format

3.1.access_log

语法:

access_log path [format [buffer=size | off ] 
默认值: access_log log/access.log combined

作用域:

http, server, location

备注
(引述 http://www.nginx.cn/doc/standard/httplog.html)

1.指令 access_log 指派路径、格式和缓存大小。
2.参数 "off" 将清除当前级别的所有 access_log 指令。
3.如果未指定格式,则使用预置的 "combined" 格式。
4.缓存不能大于能写入磁盘的文件的最大大小。
5.在 FreeBSD 3.0-6.0 ,缓存大小无此限制。

3.2.log_format

语法:

log_format name format [format ...]
默认值: log_format combined "..."

作用域:

http server

4.nginx日志管理的格式

$remote_addr

客户端的ip地址(代理服务器,显示代理服务ip)

$remote_user

用于记录远程客户端的用户名称(一般为“-”)

$time_local

用于记录访问时间和时区

$request

用于记录请求的url以及请求方法

$status

响应状态码,例如:200成功、404页面找不到等。

$body_bytes_sent

给客户端发送的文件主体内容字节数

$http_user_agent

用户所使用的代理(一般为浏览器)

$http_x_forwarded_for

可以记录客户端IP,通过代理服务器来记录客户端的ip地址

$http_referer

可以记录用户是从哪个链接访问过来的

备注:

Directive log_format describes the format of a log entry. Besides general variables in the format it is possible to use variables which exist only at the moment of record into the log:

$body_bytes_sent, the number of bytes, transmitted to client minus the response headers, variable is compatible with parameter %B of module Apache's mod_log_config (this was called $apache_bytes_sent, before version 0.3.10)
$bytes_sent, the number of bytes, transmitted to client
$connection, the number of connection
$msec, the time with an accuracy to microseconds at the moment of the log entry
$pipe, "p" if request was pipelining
$request_length, the length of the body of the request
$request_time, the time of working on request in seconds
$status, status of answer
$time_local, local time into common log format.
The headers, transmitted to client, begin from the prefix "sent_http_", for example, $sent_http_content_range.

In the configuration there is always a predetermined format "combined":
log_format  combined  '$remote_addr - $remote_user [$time_local]  '
: '"$request" $status $apache_bytes_sent '
: '"$http_referer" "$http_user_agent"'

5.nginx日志管理的日志样例解释

日志格式

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

这里写图片描述

图示样例解释

%remote_addr  请求来源的ip 100.116.26.57
$remote_user  远程访问的用户,一般为空
$time_local   请求访问的时间
$request     用于记录请求的url以及请求方法 POST /ebiz/third/ant.action?action=acceptInsurance HTTP/1.1
$status       请求状态 200 成功
$body_bytes_sent 给客户端发送的文件主体内容字节数904个字节
$http_referer  可以记录用户是从哪个链接访问过来的
$http_user_agent 用户代理 比如什么浏览器等 Jakarta Commons-Htt
$http_x_forwarded_for "110.75.248.252, 120.27.173.36" 多代理的服务器ip
$connection  连接数量113498954
$upstream_addr  10.151.0.234:7001
$upstream_response_time  响应时间
$request_time  请求时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东山富哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值