Enviar alerta de email na entrada do arquivo de log?

5

No Linux, o que é uma maneira simples de assistir automaticamente a um arquivo de log e me enviar um email se uma determinada string aparecer? Eu tenho um aplicativo que irá registrar certas falhas em um arquivo de log, mas não tem nenhuma maneira interna de enviar alertas ou executar scripts em caso de falha. Eu suponho que eu poderia improvisar algo com o tail -f e alguns scripts de shell, mas eu prefiro usar uma ferramenta mantida existente, se existir.

    
por davr 01.07.2009 / 00:27

6 respostas

2

Eu encontrei uma ferramenta chamada tenshi que parece fazer exatamente o que eu preciso fazer. Está incluído nos repositórios padrão do Debian, o que é legal, infelizmente não nos do RHEL / CentOS (eu tenho uma mistura de ambos os sistemas operacionais como servidores).

    
por 01.07.2009 / 02:41
6

Eu verifiquei várias das opções mencionadas nesta página e acabei usando algo muito mais simples: amostra .

Esses outros sistemas são ótimos para lidar com logs de sistema existentes ou com software em que você não tem controle sobre a saída. Eu só não queria escrever um monte de código para fazer notificações por e-mail ainda. Então, acabei de criar um arquivo de amostras como este:

watchfor /./
    mail addresses=me\@example.com:other\@example.com,subject=log_alert

E então começou com

swatch -c send-me-everything.swatch -t /my/app/urgentevents

É grosseiro, mas desde que eu controle a saída do arquivo de log, eu não preciso de nada mais complicado ainda.

    
por 10.09.2010 / 23:34
3

Antes de irmos para uma solução pesada ( Zenoss ) costumávamos usar logcheck , que faz parte do Debian, mas pode facilmente ser portado para outras distribuições também. Eu estava usando no Gentoo. Distros como o RHEL vêm com o logwatch , que faz algo similar.

    
por 01.07.2009 / 01:30
2

A melhor maneira é usar um programa de análise de log.

O OSSEC, por exemplo, é gratuito / de código aberto e permite que você veja quantos arquivos de registro você quiser e gere alertas de e-mail (ou até mesmo respostas ativas) para determinados eventos.

Link: link

Eu sei que hackear um shell script é divertido, mas muito menos estável do que um programa maduro sendo desenvolvido há anos. Além disso, se no futuro você precisar estender seu script ou adicionar mais gatilhos, isso se tornará muito mais complicado. OSSEC (e outras ferramentas) têm esse framework feito para você.

    
por 01.07.2009 / 00:34
2

LoFiMo (Log File Monitor) no Sourceforge deve começar ou O NuHe pode funcionar, mas eu estou menos familiarizado com ele.

    
por 01.07.2009 / 01:21
2

Sei que uma resposta já foi aceita, mas o rsyslog é muito mais robusto e possui filtragem embutida, alertas SMTP e capacidades de visualização de arquivos sem syslog para aplicativos que não usam syslog. Agora é a implementação padrão do syslog no Ubuntu 10.x.

    
por 11.09.2010 / 00:50