Meu access.log é 10.5GB - Quais são os bons procedimentos de gerenciamento de log?

2

Nós não temos nenhum gerenciamento de logs afora, de vez em quando, indo e limpando. Temos um servidor que não recebe muito tráfego (a maioria dos registros é do nosso chat ao vivo). Mas isso me fez pensar, que tipo de procedimentos de gerenciamento de log deve estar em vigor para gerenciar os logs corretamente? Você configura para que apenas coisas específicas sejam registradas, que os logs sejam apagados por tantos dias? Por quanto tempo os logs de acesso devem ser mantidos? Por quanto tempo outros registros devem ser mantidos?

    
por Webnet 10.08.2010 / 15:07

3 respostas

1

Até meus arquivos de log ficam grandes por causa de seus arquivos. Eu uso o logrotate padrão disponível em quase qualquer distribuição Linux.

Eu o configurei para logar o material que fica muito grande, diariamente e outros semanalmente, etc.

Experimente. Eu até comprimo-los com xz, então o arquivo é relativamente pequeno e pode ser baixado para sua caixa pessoal para análise sem muita perda de largura de banda em ambos os lados.

Veja man logrotate e man logrotate.conf para mais informações.

    
por 10.08.2010 / 15:11
0

Primeiro, entenda que seu servidor da web anexa ao seu access.log, então você deve manter seu tamanho no mínimo. Meus servidores apache começam a carregar páginas mais lentamente quando têm arquivos de log com mais de 4 GB (provavelmente eu sou o único que percebe).

Dê uma chance ao awstats. Ele criará arquivos baseados em html que permitirão obter excelentes visualizações do seu tráfego e também limpará o enorme arquivo access.log que você tem. A primeira vez que você executar este aplicativo vai demorar muito tempo desde que access.log é tão grande.

Se awstats ou logrotate não servirem para você, você pode sempre apenas ativar seu access.log uma vez por dia com um cron:

echo "" > access.log

Mas eu pessoalmente só uso isso quando eu tenho um arquivo de log enorme que eu preciso truncar muito rápido. É realmente um desperdício de logs para truncá-los assim.

    
por 10.08.2010 / 16:22
0

Use o cronolog para criar um arquivo de log por hora ou diário. Veja como usá-lo.

TransferLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/access.log"
ErrorLog    "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/errors.log"

Usando o cronjob compress acima dos logs para evitar o preenchimento de disco e manter os dados por alguns dias (pode ter um mês).

ou use logrotate para girar os logs (como explicado na resposta acima)

    
por 10.08.2010 / 16:33