
Tengo un servidor syslog (que ejecuta rsyslog en RHEL 7.4) que consolida todos los syslogs de mis dispositivos de red. Está escuchando en el puerto TCP/514.
Quiero redirigir los registros de cada dispositivo a un archivo diferente en un directorio dedicado (según su dirección IP), en lugar de colocarlos todos en formato /var/log/messages
. ¿Cómo puedo hacer eso?
Respuesta1
Parece que está documentado en el sitio web rsyslog aquí: https://www.rsyslog.com/storing-and-forwarding-remote-messages
Para resumir :
Deberías definir una plantilla para los archivos de registro, algo así como, por ejemplo:
# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
Luego aplique esta plantilla a los mensajes provenientes de hosts remotos:
# Remote Logging
$RuleSet remote
*.* ?RemoteHost