Difference between revisions of "Track HTTP Application Response time in Nginx"

From wikieduonline
Jump to navigation Jump to search
Line 7: Line 7:
 
     '"$request" $status $body_bytes_sent '
 
     '"$request" $status $body_bytes_sent '
 
     '"$http_referer" "$http_user_agent" '
 
     '"$http_referer" "$http_user_agent" '
     '$request_time $upstream_response_time $pipe';
+
     '$pipe $upstream_response_time $request_time';
 
  </pre>
 
  </pre>
  

Revision as of 05:57, 15 June 2020

[1]

1) Add to /etc/nginx/nginx.conf befor your access_log directive http://nginx.org/en/docs/http/ngx_http_log_module.html

 log_format timed_combined '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent" '
    '$pipe $upstream_response_time $request_time';
 

2) Modify access_log directive to use new format:

access_log /var/log/nginx/yourdomain.com.access.log timed_combined;

[2]

request_time This shows how long Nginx dealt with the request
upstream_response_time Gives us the time it took our upstream server (in this case Apache/mod_wsgi) to respond
pipe Shows ‘p’ in case the request was pipelined.


3) Reload nginx:

nginx -t && systemctl restart nginx

4) Check your new log format:

tail -f /var/log/nginx/access.log

See also

  • https://lincolnloop.com/blog/tracking-application-response-time-nginx/
  • https://stackoverflow.com/a/39260524
  • Advertising: