Nginx, awstats e hora do pedido

1

Como posso ajustar o nginx para gravar o tempo de requisição em logs, de forma que o awstats possa mostrar o tempo gasto para cada requisição?

Além disso, como posso ver solicitações pelo tempo gasto em awstats?

Este é o formato atual

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';
    
por Quintin Par 04.10.2011 / 14:34

2 respostas

5

Como @Vladimir mencionou, para registrar o tempo de solicitação, edite sua diretiva log_format como abaixo:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"'
                      ' $request_time';

e defina as variáveis correspondentes para LogFormat no arquivo de configuração awstats :

LogFormat="%host %other %host_r %time1 %methodurl %code %bytesd %refererquot %uaquot %other %extra1"

Aqui está um exemplo de extra1 section:

ExtraSectionName1="Time to serve requests (seconds)"
ExtraSectionCodeFilter1=""
ExtraSectionFirstColumnTitle1="Number of seconds to serve the request"
ExtraSectionFirstColumnValues1="extra1,(.*)"
ExtraSectionStatTypes1="H"

Relatório de construção:

awstats.pl -config=model -output -staticlinks > awstats.localhost.html

    
por 04.10.2011 / 21:07
2

Você pode usar a variável $ request_time , conforme especificado aqui , por exemplo:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent $request_time "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

Editar: Ops, perdeu sua segunda pergunta. Você pode fazer com que AWStats analise o novo formato usando a diretiva LogFormat com um Variável extraN e depois use um ExtraSection para exibir os resultados.

    
por 04.10.2011 / 14:47

Tags