Benefícios de logs de Apache separados sobre combinados?

4

Eu queria saber se há algum benefício ou casos de uso comuns nos quais usar logs do Apache separados (acesso, agente, erro e referenciador) é melhor do que usar um único arquivo de log combinado. Eu tentei pesquisar no Google , mas parece que uma análise não foi realmente feita sobre este dilema particular.

Tradicionalmente, usei outros separados simplesmente porque fazia sentido separar dados em grupos (claro que, de outra forma, na verdade é divisão dados agrupados; isto é, qualquer acesso está sendo dividido em vários partes - o que significa visualizar quatro arquivos ao mesmo tempo e tentar mantê-los sincronizados com o mesmo timestamp).

Eu não usei muitos analisadores de log, mas suspeito que pelo menos alguns funcionem melhor (ou de todo) com logs combinados.

Então, há uma boa razão para usar o separado sobre o combinado?

    
por Synetech 30.01.2013 / 16:10

2 respostas

1

Esta é realmente uma ligação pessoal que você deve fazer com base no seu ambiente e na maneira como trabalha. Há vantagens e desvantagens para ambos.

A principal vantagem de um log combinado (tudo relacionado a um arquivo) é que ele é escrito contemporaneamente: Se ocorrer um erro, você o verá logo abaixo da linha de "acesso" (a solicitação) que o causou.
Isso pode tornar a resolução de problemas um pouco mais fácil se você não tiver um grande volume de solicitações.

Por outro lado, arquivos de log separados fazem sentido sempre que o volume de entradas é tão grande que pode sobrecarregar ao tentar solucionar um problema.

A divisão "tradicional" do Apache é access e error logs -

  • O log do Access contém todas as solicitações recebidas pelo servidor (e os códigos de resposta enviados) e, às vezes, bits úteis adicionais, como o Protocolo SSL, etc.
  • O log de erros contém, como o próprio nome indica, erros (CGI / PHP / etc. falhas, exceções, impressões de pilha, saída de depuração).

Quando você está caçando um problema, você assiste ao log de erros e provoca o problema, e obtém apenas os erros (em oposição ao erro mais todas as solicitações GET de arquivos CSS, Javascript, imagens etc. que o seu navegador foi baixado antes de você chegar à parte onde as coisas falham).

Você pode levar isso ainda mais longe (logs separados de acesso, agente, referenciador, SSL, etc.), mas pessoalmente não vejo necessidade de fazer isso. O tradicional "Erro" e "Acesso" (tudo o que não é um erro) é o que você verá na maioria das implementações.

Pode haver um motivo para manter registros adicionais dedicados para referenciadores, etc., se você estiver fazendo análises ou estatísticas, ou pode omitir essas informações do log do Access se não se importar sobre isso, mas eu não subdividiria os logs no ponto em que você precisa procurar em mais de 2 locais para solucionar um problema. Isso acaba fazendo mais trabalho para você.

    
por 30.01.2013 / 21:12
1

Eu uso logs diferentes para separar os principais assuntos que estão sendo executados no mesmo servidor, mas são de propósito totalmente diferente (ou seja, sites diferentes ou diferentes tipos de segurança / sensibilidade), pois é mais fácil inspecionar, analisar e analisar o barulho.

Você pode conseguir resultados semelhantes usando grep obviamente.

    
por 30.01.2013 / 16:16