
Eu tenho um servidor syslog (executando o rsyslog no RHEL 7.4) que consolida todos os syslogs dos meus dispositivos de rede. Está escutando na porta TCP/514.
Quero redirecionar os logs de cada dispositivo para um arquivo diferente em um diretório dedicado (com base no endereço IP), em vez de colocá-los todos no formato /var/log/messages
. Como eu posso fazer isso?
Responder1
Parece que está documentado no site rsyslog aqui: https://www.rsyslog.com/storing-and-forwarding-remote-messages
Para resumir:
Você deve definir um modelo para arquivos de log, algo como, por exemplo:
# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
Em seguida, aplique este modelo a mensagens provenientes de hosts remotos:
# Remote Logging
$RuleSet remote
*.* ?RemoteHost