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

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

Introdução ao Shell Script

Recursos avançados do bash que você não aprende na escola

Introdução ao uso de Shell Script

Exemplos práticos de comandos com Parted

Shell Script: Primeiros conceitos

  
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