千家信息网

Nginx使用日志输出上游服务器和自身的处理时间

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,场景: Nginx的后端跟着Tomcat,现在要统计实现Nginx的处理时间以及后端服务器的返回时间。目的: 对于一个客户端请求,使用日志输出Nginx自身的处理时间,上游服务器的处理时间。实现: 通
千家信息网最后更新 2024年09月21日Nginx使用日志输出上游服务器和自身的处理时间场景: Nginx的后端跟着Tomcat,现在要统计实现Nginx的处理时间以及后端服务器的返回时间。

目的: 对于一个客户端请求,使用日志输出Nginx自身的处理时间,上游服务器的处理时间。

实现: 通过upstream模块的upstream_response_time变量来获取相关信息。
配置:
1.定义logformat log_format timed_combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$request_time $upstream_response_time $pipe';
request_time 表明,Nginx处理该请求所需花费的时间。 upstream_response_time 表明上游服务器的处理时间。 pipe 表示是否使用了http pipe
使用该条日志格式:
access_log /var/log/nginx/yourdomain.com.access.log timed_combined;
66.249.71.173 - - [08/Nov/2010:14:16:18 -0600] "GET /blog/2010/apr/30/installing-geodjango-dependencies-homebrew/ HTTP/1.1" 200 6569 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 0.640 0.640 .
0.640 表示,Nginx使用了0.640s的时间去相应客户端,其中上游服务器占用了0.640s,Nginx本身没有花费任何时间,并且没有使用pipeline
0