Habilitando APM no log do Nginx
APM é um modo de medir a performance de um sistema.
Por padrão, o log do nginx mostra apenas a hora em que a requisição foi servida, mas não mostra o tempo que ela levou para ser processada.
Essa configuração serve para que o nginx exiba esse tempo, para que seja possível identificar as requisições mais demoradas e que precisam de otimização.
O primeiro passo é encontrar o arquivo nginx.conf (geralmente em /etc/nginx/nginx.conf) e adicionar o seguinte template de log:
log_format apm '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" ($request_time)';
A variável $request_time possui o tempo que levou para processar a requisição. Coloquei entre parênteses apenas para ficar mais fácil de identificar.
O próximo passo é adicionar a configuração no arquivo vhost do site, para que o log seja gerado:
access_log /var/log/nginx/site.com.br/apm.log apm;