Como anexar% fromhost-ip% variable a cada linha de log no rsyslog para logs de host remoto?

1

Eu uso variáveis rsyslog para compor nomes de arquivos de log. Variáveis% HOSTNAME% e% fromhost-ip%. Tudo está bem, mas a questão é: Como posso acrescentar / acrescentar estas variáveis a cada linha de log para logs que vêm de hosts remotos?

    
por dimovnike 03.11.2014 / 19:59

1 resposta

2

A solução é usar modelos rsyslog personalizados. Primeiro você cria o modelo de mensagem de log. O modelo a seguir se assemelha ao formato syslog padrão, mas tem o %fromhost-ip% adicionado, você pode adicionar outras variáveis da mesma maneira

$template tplremote,"%timegenerated% %HOSTNAME% %fromhost-ip% %syslogtag%%msg:::drop-last-lf%\n"

Em seguida, criamos o modelo de nome de arquivo:

$template RemoteHost,"/var/log/remote/%HOSTNAME%.log"

E, finalmente, informamos ao rsyslog para usar modelos criados:

if ($hostname != 'localhost') then ?RemoteHost;tplremote  
& ~

Note que as últimas linhas devem ser adicionadas antes da linha que contém.

*.info;mail.none;authpriv.none;cron.none

Observe também que isso foi testado e funcionou no novo rsyslog de epel repo no redhat ( rsyslog-7.6.7-1.el6.x86_64 ). O comportamento pode ser diferente em outras distros.

    
por 03.11.2014 / 21:21