# 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 <strong>apm</strong> '$remote_addr - $remote_user [$time_local] '`  
`                '"$request" $status $body_bytes_sent '`  
`                '"$http_referer" "$http_user_agent" <strong>($request_time)</strong>';`

A variável [$request\_time](http://nginx.org/en/docs/http/ngx_http_core_module.html#var_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;`