Neste artigo eu vou falar com você sobre o problema número 1 da lista de problemas que causam paralisações em servidores Linux e como evitá-lo de forma definitiva, inclusive com um exemplo que eu vou te apresentar ao final deste artigo.

Eu já até perdi a conta de quantas vezes já vi um sistema Linux paralisado por problemas causados pelo mal gerenciamento do sistema de logs de algum serviço ou simplesmente pela negligência do Sysadmin que não prestou atenção nas famosas mensagens que aparecem no console: You have a new message! Resultado: partição cheia e usuários reclamando que alguma coisa não está funcionando como deveria.

Se você é um Syadmin Linux sem dúvida nenhuma já viu essa mensagem no console do Linux. Muitos simplesmente pressionam “enter” e seguem o trabalho normalmente.
Você sabia que estas mensagens podem lotar o disco e prejudicar o sistema todo? Estas mensagens são geradas normalmente por algum script que roda no cron e que está te avisando que alguma coisa não está certa.

A exemplo do que falei no artigo 6 dicas valiosas para programar em shell script, todo Sysadmin precisa pensar um palmo à frente do seu nariz, pelo menos. Vamos deixar uma coisa muito bem clara: se um daemon/serviço gera algum tipo de log, você precisará configurar o rotacionamento desse log, ou seja, fazer com que os logs mais antigos sejam apagados ou compactados e os atuais sejam “rotacionados” para não ficarem muito grandes. Logs muito grandes (acima de 1GB por exemplo) podem degradar o desempenho do daemon/serviço que está escrevendo nesse log e isso acontece por motivos óbvios.
Esse é um conhecimento que deveria fazer parte do abcedário de todo Sysadmin!

A regra é a seguinte: se você instalou um daemon/serviço utilizando o gerenciador de pacotes da sua distribuição, certamente o próprio pacote já se encarregou de configurar o rotacionamento do log desta aplicação, caso contrário, você terá que fazê-lo, por isso todo Sysadmin deveria conhecer minimamente como o sistema de rotacionamento de logs do Linux funciona.

Esse é um conhecimento que deveria ser o abcedário de qualquer Sysadmin e com certeza fará parte do curso que estou planejando, aliás, se você ainda não respondeu às 3 perguntas rápidas da minha pesquisa para o curso, ainda dá tempo clicando neste link.

O sistema de rotacionamento de logs do Linux chama-se logrotate e configurar o rotacionamento de um log é muito simples. O logrotate possui o diretório “/etc/logrotate.d” e basta colocar um script com o formato abaixo dentro desse diretório para ter o log em questão rotacionado na periodicidade escolhida:

Logrotate samba

Neste exemplo, o que está sendo rotacionado são os logs do samba.
Uma explicação rápida sobre o que significa cada linha deste script:

1 É o caminho completo do log a ser rotacionado
2 Informa a periodicidade que este log será rotacionado (semanalmente)
3 Se o log não existir, não exibe nenhum erro e passa para o próximo
4 Informa o logrotate para manter apenas 7 rotacionamentos deste log
5 a 7 Este bloco deve conter comandos que devem ser executados após o log ser rotacionado, como por exemplo reiniciar o serviço que utiliza este log
8 Informa o logrotate para compactar os arquivos de log rotacionados para ocupar menos espaço em disco
9 Não faça nada se o arquivo de log estiver vazio

Viu como é simples?
Não vou explicar as linhas do próximo log pois fazem exatamente a mesma coisa.
Existem muitas outras opções que podem ser utilizadas dentro destes scripts e por isso, recomendo a leitura e estudo da man page do logrotate (man logrotate).

Faça rotacionamento dos logs dos seus servidores sempre e não deixe de utilizar o campo abaixo para comentar sobre este artigo!

Até a próxima!

Comentários

comentários