Skip to main content

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;