Redirecionando a saída do syslog de determinados processos para um arquivo específico

2

Devo admitir que sou um novato completo em syslog. Eu não toquei até agora, mas eu uso sua saída diariamente, como a maioria de nós:)

Atualmente, tenho um problema com o daemon gmetad enviando spam para meu arquivo / var / log / messages com mensagens como as seguintes:

Sep 1 10:09:49 monitor / usr / sbin / gmetad [31752]: RRD_update (/var/lib/ganglia/rrds/Machines/SummaryInfo/example.rrd): tentativa ilegal para você pdate usando o tempo 1314868188 quando o último horário de atualização é 1314868188 (mínimo de um segundo passo).

Não estou muito preocupado com o erro, o que eu quero fazer é redirecionar essas mensagens específicas para outro arquivo de log (por exemplo, /var/log/gmetad.log). O problema é que não parece haver nenhuma maneira de direcionar os logs do gmetad para um determinado local em sua configuração (e a documentação para este software em particular parece bastante esparsa). Então eu queria saber se era possível usar o recurso "local" no syslog para pegar essas mensagens e colocá-las em outro lugar para deixar o / var / log / messages um pouco mais limpo.

Alguém pode ajudar? Alguém tem algum exemplo para as instalações "locais"?

    
por ticktockhouse 01.09.2011 / 12:29

1 resposta

2

Qual daemon syslog você tem? Syslogd? syslog-ng? rsyslog? A sintaxe é diferente para cada daemon.

por exemplo, no rsyslog, você poderia fazer algo como

local5.*   /var/log/gmetad.log

{você deve encontrar a instalação do aplicativo}

caso contrário você poderia fazer algo como

if $msg contains gmetad then /var/log/gmetad.log
    
por 01.09.2011 / 12:34