奥尔覅几22 发表于 2016-12-24 10:56:00

Nginx 记录请求分发日志

  在nginx接收到请求之后, 需把请求分发到后端WEB服务集群.
  在这里需要记录分发日志, 来分析后端每台WEB服务器处理的请求数目.

http {
log_formatmain
' $remote_user [$time_local]$http_x_Forwarded_for $remote_addr$request '
'$http_x_forwarded_for '                     
'$upstream_addr '                     
'ups_resp_time: $upstream_response_time '                     
'request_time: $request_time';
access_loglogs/access.logmain;
server{}
...
}

  在日志显示的信息为:

- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.010 request_time: 0.011
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.16:8188 ups_resp_time: 0.006 request_time: 0.006
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.013 request_time: 0.013
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.17:8188 ups_resp_time: 0.003 request_time: 0.003
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.18:8188 ups_resp_time: 0.004 request_time: 0.004
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.012 request_time: 0.013
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.18:8188 ups_resp_time: 0.005 request_time: 0.005
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.16:8188 ups_resp_time: 0.011 request_time: 0.011
- - xxx.ip.addr.xxxGET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.447 request_time: 0.759

  全部配置文件nginx.conf.

# greatwqs@163.com Install on 2012-08-11 linux
# userdevwqs;
# 2 intel(R) xeon(R) CPU
worker_processes4;
worker_cpu_affinity 00000001 00000010 00000100 00001000;
# error_loglogs/error.log;
# error_loglogs/error.lognotice;
error_log   logs/error.logerror;
pid      logs/nginx.pid;
# allow openning file nums
worker_rlimit_nofile 25600;
events {
# linux 2.6 upper version.
use epoll;
worker_connections51200;
}
http {
include       mime.types;
default_typeapplication/octet-stream;
# log_formatmain'$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"';
log_formatmain' $remote_user [$time_local]$http_x_Forwarded_for $remote_addr$request '
'$http_x_forwarded_for '
'$upstream_addr '
'ups_resp_time: $upstream_response_time '
'request_time: $request_time';
access_loglogs/access.logmain;
sendfile                     on;
# tcp_nopush               on;
keepalive_requests         200;
keepalive_timeout            20;
gzipon;                  
client_body_buffer_size      128k;
client_body_timeout          60s;
client_max_body_size         10m;
# proxy_buffer_size          8k;
# proxy_busy_buffers_size    64k;
proxy_temp_file_write_size   64k;
# portal-cluster
upstream portal-cluster {
# http://192.168.100.15:8188/portal/
server 192.168.100.15:8188 weight=5 max_fails=5 fail_timeout=30s;
# http://192.168.100.16:8188/portal/
server 192.168.100.16:8188 weight=5 max_fails=5 fail_timeout=30s;
# http://192.168.100.17:8188/portal/
server 192.168.100.17:8188 weight=5 max_fails=5 fail_timeout=30s;
# http://192.168.100.18:8188/portal/
server 192.168.100.18:8188 weight=5 max_fails=5 fail_timeout=30s;
}
# manage-cluster
upstream manage-cluster {
# http://192.168.100.25:8189/manage/
server 192.168.100.25:8189 weight=4 max_fails=5 fail_timeout=30s;
# http://192.168.100.26:8189/manage/
server 192.168.100.26:8189 weight=6 max_fails=5 fail_timeout=30s;
}
# External Internet.
server {
listen       80;
server_namewww.huaxixiang.com;
access_log   logs/host.access.logmain;
location /portal/ {
# root   html;
# indexindex.html index.htm;
# nginx http header send to tomcat app.
# proxy_set_header Host$host;
# proxy_set_header X-Forwarded-For$remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://portal-cluster;
}
# nginx status
location /nginx_status {
# copied from http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
stub_statuson;
access_log   off;
allow      192.168.100.100;
#deny all;
}
location / {
root   html;
indexindex.html index.htm;
}
error_page404            /404.html;
# redirect server error pages to the static page /50x.html
error_page   500 502 503 504/50x.html;
location = /50x.html {
root   html;
}
}
# External Internet.
server {
listen       80;
server_namemanage.huaxixiang.com;
access_loglogs/host.access.logmain;
location /manage/ {
proxy_pass http://manage-cluster;
}
location / {
root   html;
indexindex.html index.htm;
}
error_page404            /404.html;
# redirect server error pages to the static page /50x.html
error_page   500 502 503 504/50x.html;
location = /50x.html {
root   html;
}
}
}

  nginx status查看:

 
页: [1]
查看完整版本: Nginx 记录请求分发日志