Como posso monitorar o syslog e enviar notificações com base em eventos?

0

Vou enviar o syslog do meu dispositivo / servidor para um servidor Ubuntu.

No servidor Ubuntu (recebendo o syslog), eu quero que ele acione um script quando mensagens específicas do syslog chegarem.

Isso é possível?

    
por SofaKng 04.01.2013 / 00:22

1 resposta

3

A questão parece ter mudado um pouco e ter sido alvo de scripts, em vez de enviar notificações. Eu posso remover essa resposta mais tarde.

Parece que é bastante simples para configurar o acionamento em tempo real de scripts shell baseados em mensagens passadas para o rsyslog. Se OP reescrever sua resposta para conter uma imagem melhor do que ele está buscando (como já foi postado nos comentários), estou disposto a fornecer uma resposta de alta qualidade aqui.

Não sei exatamente quais são seus requisitos, mas um software específico que eu poderia recomendar é logcheck . Isso pode ser útil em sua situação também.

Sua finalidade é enviar resumos de mensagens em linhas específicas (interessantes) correspondentes. Estou assumindo que a configuração básica de e-mail está funcionando (por exemplo, echo bla | mail -s testmail [email protected] works). Ele cuida das rotações de log e sabe de onde ele saiu, então não se preocupe mais com scripts!

Extraiu alguns dos passos essenciais de este tutorial :

  1. Configurar itens básicos em /etc/logcheck/logcheck.conf :

    REPORTLEVEL="server"          # default reportlevel with pre-configured filters
    SENDMAILTO="[email protected]"
    
  2. Quais arquivos de log devem ser verificados em /etc/logcheck/logcheck.logfiles :

    /var/log/syslog
    /var/log/auth.log
    /var/log/myapp.log
    
  3. Agora, para que seja acionado em uma linha específica semelhante a

    myapp: Error: Login failed for admin123
    

    para este log myapp, isso pode ser feito criando uma expressão regular em /etc/logcheck/ignore.d.server/myapp (nota server correspondente ao usado REPORTLEVEL anterior):

    ^myapp:.*
    

    Ok, este não é o regex mais específico, mas esse não é o ponto.

  4. Espere os e-mails para chegar, por exemplo:

    Subject: webserver.domain.tld 2013-01-01 10:17 System Events
    
    Jan 01 09:40:59 webserver myapp: IMAP Error: Login failed for gertvdijk
    
por gertvdijk 04.01.2013 / 00:44