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.764 ]

Por: Tiago duarte em 07/02/2014


Solução / Instalação



A solução

Esta solução funciona da seguinte forma, criaremos um arquivo chamado original, que irá conter apenas os registros do log que nos interessam.

Este será o arquivo base para a comparação. Depois, criaremos o script que irá:
  • Criar o segundo arquivo para comparação, chamando-o de atual.
  • Fazer a comparação entre os arquivos.
  • Executar o teste, enviando o e-mail apenas se houver os registros de nosso interesse.

Então, vamos lá. Para isto, precisaremos dos seguintes programas:
  • Cron (agendador de tarefas) - Já deve existir em seu sistema.
  • Diff (comparador de arquivos) - Já deve existir em seu sistema.
  • Grep (filtra tudo que você quiser) - Já deve existir em seu sistema.
  • Mailx (enviador de e-mail SMTP) - Vamos instalá-lo.

Instalação

Para este tutorial (muito provavelmente), você vai precisar instalar apenas o Mailx. O Mailx pode ser encontrado nos seguintes pacotes: heirloom-mailx ou mailutils.

Então, em sistemas baseados no Debian, basta executar:

# apt-get install mailutils

No meio do processo, irá aparece uma tela perguntando que tipo de configuração você deseja, escolha Sistema de internet e avance. Depois, confirme o nome do domínio que pode ser o nome do computador mesmo.

Faça o teste de envio de e-mail executando o comando:

mailx -s assunto fulano@gmail.com

Onde fulano@gmail.com é o destinatário.

Siga:
  • Quando aparecer "Cc:", pressione: Enter
  • Digite algum texto para o corpo do e-mail e pressione: Enter
  • Depois, pressione Ctrl+d para finalizar e enviar o e-mail.

Verifique se o e-mail chegou na caixa de e-mail do fulano@gmail.com.

* Importante: verifique se em sua rede, existe algum bloqueio de proxy ou firewall. Caso ocorra, o administrador da rede deverá fazer a liberação para funcionar. Os comandos acima, são suficientes para conseguir enviar o e-mail numa rede livre de bloqueios. Ex.: na sua casa.

    Próxima página

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

Shell Script: Primeiros conceitos

Variáveis, if, else e unless em Ruby

Backup automático em Shell Script

Shell Script para WEB

AWK - Introduçã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