Cree un archivo syslog separado para cada host con rsyslog

Cree un archivo syslog separado para cada host con rsyslog

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

información relacionada