Monitoramento automático de logs e alertas por e-mail - Fácil e explicado

Vou mostrar, de forma bem simples, como monitorar logs e receber alertas por e-mail, apenas quando a condição desejada aparecer no log. Existem vários tutoriais que ensinam a fazer a mesma coisa, porém, muito complicados, cheios de programas e scripts imensos. Vou tentar mostrar como ter o mesmo efeito, ou quase, de uma forma bem menos complicada.

[ Hits: 26.707 ]

Por: Tiago duarte em 07/02/2014


Criando a rotina



A periodicidade de execução do script, vai depender do objetivo que você quer alcançar, de qual arquivo você está monitorando, com que frequência o log é alterado, e por aí vai...

No meu caso, vou agendar o script para ser executado de 30 em 30 minutos. Para isso, faça o seguinte:

1. Abra o arquivo de configuração do cron:

# nano /etc/crontab

2. Edite o arquivo, acrescentando a seguinte linha:

00,30 * * * *   root    /root/script/atual.sh

Onde:
  • 00,30 representam os minutos que o script será executado.
  • O segundo * representa a hora que será executado, neste caso, todas as horas.
  • root é o usuário que irá executar a tarefa.
  • /root/script/atual.sh é o nosso script.
3. Saia do arquivo, salvando-o.

Obs.: a última linha deste arquivo deve conter o caractere #. A aparência do arquivo crontab deve ser esta:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.


SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
00,30 * * * *   root    /root/script/atual.sh
#

Página anterior    

Páginas do artigo
   1. Solução / Instalação
   2. Configuração
   3. Criando a rotina
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Introdução ao Shell Script (parte 2)

Introdução ao Shell Script - Baseado no livro de Ken O. Burtch

Cansou do Konsole e GNOME-Terminal? Existem outros terminais, escolha o seu!

AWK - Manipulação de arquivos de texto

Introdução a LUA, uma poderosa linguagem de programação

  
Comentários
[1] Comentário enviado por xjc em 07/02/2014 - 21:55h

Ja pessou em usar ossec ? o zabix também tem essa funcionalidade .
Ja fiz isso uma vez em produção, que inclui diversas coisas diferentes.

[2] Comentário enviado por thld em 10/02/2014 - 10:33h


[1] Comentário enviado por xjc em 07/02/2014 - 21:55h:

Ja pessou em usar ossec ? o zabix também tem essa funcionalidade .
Ja fiz isso uma vez em produção, que inclui diversas coisas diferentes.


Sim, com certeza existem soluções bem mais robustas e melhores. Mas o objetivo deste artigo é mostra uma forma simples, prática, rápida e sem exigir muito para se monitorar logs e receber alertas. Mas obrigado pela sua contribuição. Quem quiser algo mais complexo e completo deve realmente buscar o Zabbix, o Ossec ou outra solução....

[3] Comentário enviado por rodrigo_shell em 08/03/2014 - 12:10h

Gostei muito do artigo, cara.
Parabéns.
Solução simples e rápida.

[4] Comentário enviado por LeaoNarrdo em 17/05/2014 - 12:21h

Muito bom.

O Zabbix também é ótimo, mas ele é mais complexo e exige mais de uma maquina.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts