viernes, 18 de mayo de 2012

Como forwaredear Syslog-NG a Rsyslog,

Supongo que no soy el primero que le pasa que tiene un dispositivo que tira los log al viejo y querido syslog-ng, y luego instalamos un servidor de syslog de back-up y nos encontramos no solo con la sorpresa que el dispositivo sólamente nos deja confirugar un único servidor de syslog, sino que el nuevo servidor backup ya no viene con syslog-ng sino que ahora tenemos que lidiar con "el nuevo" rsyslog.


Bueno para empezar tenemos que ir al Syslog-ng y decirle que los logs del dispositivo en cuestión ahora además de masticarlo él, también se los va a tener que tirar al Rsyslog. 


/etc/syslog-ng/syslog-ng.conf (éste archivo depende de la distro)

destination remote-rsyslog { udp("192.168.1.5"); };
destination device{ file(/var/log/security/device.log); };
filter      f_device        { message ("device")} ;
log { source(s_net);      filter(f_device);      destination(device); destination(remote-rsyslog); };

Ahora configuramos Rsyslog para que le pueda llegar los logs del syslog-ng:

Para empezar tenemos que descomentar estas líneas que por defecto vienen comentadas en el archivo de configuracion /etc/rsyslog.conf

$ModLoad imudp.so (para recivir mensajes por el protocolo UDP)
$UDPServerRun 514 (para escuchar en el 514)
$ModLoad immark.so      (para leer los identificadores)

Ahora nos resta decirle que el los logs que viene con el identificador detallado en syslog-ng los tire al archivo que nos pinte, por ejemplo.

&       ~
if $msg contains 'device' then /var/log/security/device.log
&       ~

Listo el pollo!

P.D: No se olviden de reiniciar los servicios y configurar bien logrotate!
Saludos!












No hay comentarios:

Publicar un comentario