一个http请求从nginx服务器到微服务管控平台服务,微服务管控平台到业务系统日志的串联。
一、Nginx配置(应用系统不需要关注):
nginx.conf修改
环境需求:nginx 要1.11以上版本支持生成request_id。
log_format main ‘[$time_local] $request_id $upstream_http_x_msa_account $status $upstream_status $upstream_http_x_msa_servicestatus $request_time $upstream_connect_time $upstream_response_time $upstream_http_x_msa_servicetime $request_length $bytes_sent $upstream_response_length $gzip_ratio $remote_addr h o s t : host: host:server_port $upstream_addr $upstream_http_x_msa_serviceaddr $request $http_referer’ ;
location / {
proxy_redirect off;
proxy_set_header Host
h
o
s
t
:
host:
host:server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Request-Id $request_id;
proxy_http_version 1.1;
proxy_set_header Connection “”;
more_clear_headers X-Msa-ServiceAddr;
more_clear_headers X-Msa-ServiceStatus;
more_clear_headers X-Msa-ServiceTime;
more_clear_headers X-Msa-Account;
more_clear_headers Server;
proxy_pass http://demo;
access_log on;
access_log logs/access_msa.log main;
error_log logs/error_msa.log warn;
}
二、tomcat配置(应用需要配置):
Tomcat的server.xml中
三、spring boot 内置tomcat的访问日志(应用需要配置)
server.tomcat.accesslog.buffered=true
server.tomcat.accesslog.directory=/home/spring/ultra_zuul/logs
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd
server.tomcat.accesslog.pattern=%t %{X-Request-Id}i %a %{X-Real-IP}i %A:%p %{Host}i %s %D %F %b %I %X %r %S %{Set-Cookie}o %{User-Agent}i %{Referer}i
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.rename-on-rotate=false
server.tomcat.accesslog.request-attributes-enabled=false
server.tomcat.accesslog.rotate=true
server.tomcat.accesslog.suffix=.log