Quais são as desvantagens de usar mod_log_rotate e rotatelogs.exe juntos?

4

Em plataformas baseadas na Microsoft, há alguma desvantagem ou armadilhas ocultas no uso de rotatelogs.exe para diretivas ErrorLog e permitir que mod_log_rotate manipule diretivas CustomLog para rotação? Pelo que entendi, mod_log_rotate assume as tarefas de registro em todo o servidor, assim como mod_log_rotate e rotatelogs.exe interagem? Os dados canalizados do rotatelogs.exe são de mod_log_rotate?

Abaixo está a configuração que eu tenho no httpd.conf:

# Rotate our ErrorLogs, since mod_log_rotate doesn't seem to handle this.
ErrorLog "|bin/rotatelogs.exe -l logs/error/error.%Y-%m-%d-%H_%M_%S.log 86400"
[...]
<IfModule log_rotate_module>
#
# Produce a log file with at human readable extension in a directory called 'access'.
#
CustomLog logs/access/access_log.%Y-%m-%d-%H%M%S combined
[...]

Eu não estou pedindo opiniões, especialmente se elas estão fora do tópico. Eu gostaria de saber se isso produzirá problemas reais de um ponto de vista técnico ou de segurança.

    
por Anaksunaman 24.02.2014 / 16:03

1 resposta

3

rotatelogs e mod_log_rotate são duas soluções diferentes para o mesmo problema (Rotating logs sem ter que sinalizar ou reiniciar o Apache).

rotatelogs (ou outros programas como cronolog ) resolve o problema canalizando o log do Apache para um programa que manipula a rotação. Essa é uma ótima solução, embora isso signifique executar outro processo e manter os tubos abertos.

mod_log_rotate resolve o problema manipulando a rotação no processo do servidor. Novamente, também uma boa solução, mas somente gira os logs de acesso (o que faz com que você precise fazer outra coisa para o log de erros).

Não há nada "errado" em usar ambas as soluções (uma para lidar com seu log de acesso, uma para lidar com seu log de erros), mas por questão de sanidade e consistência eu manteria uma solução - sinalizando Apache quando você gira logs ou canalizando tudo para rotatelogs .

Em particular no Windows, eu sugeriria rotacionar seus logs externamente e sinalizar o Apache, porque o recurso de tubulação no Windows pode buggy (e, até onde sei, a situação não melhorou muito desde 2006).

(Na verdade, estava fazendo uma recomendação que eu recomendaria não executar o Apache no Windows - o Apache foi projetado para ser executado em servidores Unix, o IIS foi projetado para ser executado em servidores Windows e nunca os dois cross apesar do que o pessoal do Apache pode reclamar sobre "suportar" o Windows.)

    
por 24.02.2014 / 19:38