sexta-feira, 5 de fevereiro de 2016

Rotacionar Log do TomCat(catalina.out)



Fala Galera,
   
     Quem administra servidores tomcat, com varias aplicações sempre sofre com o arquivo catalina.out que não para de encher o tempo todo, e sempre acaba lotando sua partição /usr. Pois bem, neste post irei rapidamente lhe mostrar como resolver esse problema rotacionando este log.

      O único pre-requisito pra este procedimento é que você tenha espaço suficiente dentro do seu /usr porque durante o rotacionamento o SO vai criar um novo arquivo do catalina.out compactado, e só depois disso ele ira apagar o arquivo original e criar um novo zerado. No meu caso eu tive que fazer um backup do arquivo catalina.out pra outra partição, restartar o tomcat pra que ele pudesse criar um outro catalina.out e só depois disso pedir para que fizesse o rotacionamento, tive que fazer isso por que eu não tinha espaço em disco suficiente.

       Bem, verificado se existe espaço em disco, vamos para os procedimentos que foram realizados no DEBIAN 7(Wheezy).

1- Crie um arquivo de texto dentro do seu /etc/logrotate.d/tomcat com o seguinte conteúdo:

/usr/local/tomcat/logs/catalina.out { #Ajuste este caminho para o endereço correto do catalina.out, caso não seja este. 

 copytruncate  #Permite o aproveitamento do arquivo de log antigo, limando o mesmo em vez de remove-lo.
 daily              #Freqüência que o logrotate é executado pode ser semanal ou mensal também.
 rotate 7          #Configura quantos arquivos rotacionados serão guardados, o ultimo arquivo é apagado.
 compress       #Comprime os arquivos rotacionados em gzip.
 missingok      #Se o arquivo de log não existir ele passa para o próximo sem erros.
 size 50M         #Limite do tamanho de cada log, quando o catalina.out chega a este tamanho ele rotaciona.
}


OBS:     Este procedimento normalmente pode ser utilizado para qualquer outro arquivo de log, desde que você ajuste as opções e os apontamentos corretamente.


      Apos isto feito você pode executar manualmente o logrotate, ou pode aguardar um dia, pois o arquivo esta configurado para rodar diariamente.
   
      Para rodar manualmente execute:

# logrotate /etc/logrotate.conf 

      Para rodar manualmente forçando a execução:

# logrotate  --force /etc/logrotate.conf 

      Para rodar manualmente forçando e mostrando todos os detalhes da execução:

# logrotate  --force --verbose /etc/logrotate.conf 

Quando executar ou aguardar o horário da execução automática, o logrotate, ira criar um arquivo compactado chamado: catalina.out.1.gz e ira limpar o catalina.out. Na segunda execução ele ira renomear o catalina.out.1.gz para catalina.out.2.gz e compactar o novo catalina.out para catalina.out.1.gz, limpar o catalina.out, e assim por diante.

Dessa forma abaixo:


É isso galera, este é um problema que acontece bastante comigo, porque normalmente o pessoal se esquece de configura esse rotacionamento e acaba sempre acontecendo da partição /usr lotar, e as aplicações rodando no tomcat pararem.

Até a próxima! 

Valeu!

Marckson Junior

Referencias:

https://blog.tuannh.com/config-logrotate-for-nginx-with-custom-log-path/
http://www.dicas-l.com.br/arquivo/utilizando_logrotate.php
http://linuxcommand.org/man_pages/logrotate8.html

Nenhum comentário:

Postar um comentário