Como executar uma ação quando determinada mensagem syslog chega na porta UDP

1

Eu preciso executar determinada ação quando uma mensagem específica (correspondente por exemplo regexp) chega na porta UDP (formato syslog). Como fazer isso (ou seja, usando softwere já disponível em oposição a escrever um à mão)?

    
por Maciej Piechotka 13.07.2010 / 10:34

4 respostas

2

Talvez você devesse dar uma olhada no rsyslog . Sua sintaxe é muito mais flexível e fácil que o syslogd. Também é muito mais poderoso no geral.

De qualquer forma, o que você deseja no rsyslog seria como

if ( regex ) then action

& another_action # This line could be ignored if you want only one action
    
por 13.07.2010 / 16:06
3

O syslog-ng pode fazer isso com algo como:

destination d_special { program("/usr/local/bin/script"); };
filter f_special { match("regex"); };
log { source (s_all); filter(f_special); destination(d_special); };
    
por 13.07.2010 / 12:24
0

Eu acho que este link para o logwatch manpage será útil.

    
por 13.07.2010 / 10:38
0

Você pode usar o OSSEC para observar o padrão específico e usar o resposta ativa funcionalidade para fazer a ação desejada.

    
por 13.07.2010 / 12:36