Qual seria um formato de log de acesso HTTP nignx portátil para usar com o nginx?

1

Estou procurando uma maneira de armazenar esses registros em um formato comum para que eles possam ser facilmente reconhecidos e analisados pela maioria das ferramentas.

Estou interessado em um formato que seja reconhecido automaticamente pela ferramenta goaccess e que possa suportar o tempo de resposta.

Até agora, parece que as configurações de log padrão não são reconhecidas.

    
por sorin 30.06.2015 / 15:33

2 respostas

3

O Nginx por padrão emitirá um formato de log combinado (NCSA).

O GoAccess irá reconhecê-lo automaticamente se você escolher a primeira opção na caixa de diálogo de configuração (ou remover permanentemente o NCSA Combined Log Format do seu arquivo de configuração).

Se você estiver interessado em registrar o tempo de solicitação, precisará modificar seu arquivo de configuração do nginx e adicionar seu formato de registro personalizado:

vi /etc/nginx/nginx.conf

adicione:

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

e altere o log de acesso para usar o novo formato:

access_log /var/log/nginx/timed.log timed_combined;

e reinicie o nginx

Certifique-se de que seu access.log esteja registrando o tempo de solicitação. Então você pode adicionar %T ao seu goaccess log-format como:

log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %T
    
por 30.06.2015 / 16:57
1

O GoAccess diz diretamente em sua página:

Apache/Nginx Common/Combined + VHosts

Se os seus registros não estiverem sendo analisados, você precisará examinar os registros do GoAccess e ver o que está errado.

Além disso:

GoAccess allows any custom log format string.

Então, talvez seja necessário investigar como instruir a ferramenta em seu formato personalizado.

    
por 30.06.2015 / 15:35