Logwatch, o agente gerador de log
O
Logwatch é um sistema de análise de logs customizável, que age acessando os logs do sistema criando um report das áreas
especificadas no arquivo de configuração.
O Logwatch é muito simples, de fácil instalação e configuração, rodando na maioria dos sistemas Unix-like.
Site oficial:
Para instalá-lo, use:
# apt-get install logwatch
Teste seu funcionamento emitindo o comando
logwatch no terminal:
# logwatch
Se tudo tiver certo, ele vai gerar um relatório extraindo informações dos logs do seu sistema.
Enviando logs por e-mail
Analisar logs é uma tarefa que precisa ser vista e praticada pelos sysadmins como algo crucial, uma vez que através dela, podemos identificar ou
corrigir problemas antes dos mesmos tomarem proporções que dificultem ou impossibilitem um reparo do erro.
Muitas vezes, por falta de tempo ou a falta de experiência do sysadmin em analisar cada log, esta tarefa é colocada em último plano, um erro grave.
Pensando nisso, escrevi o script a seguir para automatizar o envio por e-mail dos logs gerados pelo Logwatch, trazendo praticidade à tarefa de
analise de logs.
Segue abaixo, a ultima peça do nosso canivete suíço, o script que gera o log e o envia por e-mail:
#!/bin/sh
# Script para envio dos logs do sistema de forma periódica e automática.
# Desenvolvido em Shell script.
# Autor: Alex Sandro Silva
# Twitter: @alexhctp
# Email: alexhctp[at]hotmail[dot]com - alexhctp[at]gmail[dot]com
# CONFIGURACOES LOCAIS
LOGGEN='/usr/sbin/logwatch'
MAIL='/usr/bin/mutt'
LOGDIR='/tmp/logs/'
MAIL='/usr/bin/mutt'
# DATE=`date +%y%m%d`
DATE=`date +%Y-%m-%d`
HOME='/root/'
# MENSAGEM=/root/mensagem.txt #aprendendo uma forma de dar um echo buscando o conteúdo de um arquivo de
texto, se alguem souber, conta ae, rsrs
if [ -d $LOGDIR ]
then
rm -r $LOGDIR
exit 0
elif [ -d $HOME ]
then
mkdir $LOGDIR
$LOGGEN > $LOGDIR/log_$DATE.log
echo 'Logs e estatisticas enviadas automaticamente ao sysadmin' | $MAIL -s 'Estatisticas e Logs diarios - NOME
DA FILIAL' -a $LOGDIR\log* -- ti@seuemail.com
rm -R $LOGDIR
exit 0
fi
Sintam-se à vontade para mudar, sugerir melhorias ou correções no script.
Automatizando o processo com o Cron
Para terminar, agendamos uma tarefa com o
Cron para que todos os dias um log seja enviado ao sysadmin. Para isso, edite o
Crontab adicionando a entrada a seguir:
# nano /etc/crontab
Insira:
# Envio de automatico de logs do sistema por email
59 23 * * * root /root/sendMail.sh
Pronto... agora é só criar o vício de analisar os seus relatórios do sistema, uma vez que a falta de tempo, não mais será desculpa para deixar de
fazê-lo.
Espero ter ajudado.
Comentários com criticas e sugestões são bem-vindos.
Abraço a todos. ;)
Referências