
Ich habe einen Syslog-Server (mit rsyslog auf RHEL 7.4), der alle Syslogs meiner Netzwerkgeräte konsolidiert. Er lauscht auf Port TCP/514.
Ich möchte die Protokolle aller Geräte in eine andere Datei in einem dedizierten Verzeichnis umleiten (basierend auf ihrer IP-Adresse), anstatt sie alle in abzurufen /var/log/messages
. Wie kann ich das tun?
Antwort1
Es scheint, dass es hier auf der rsyslog-Website dokumentiert ist: https://www.rsyslog.com/storing-and-forwarding-remote-messages
Zusammenfassen :
Sie sollten eine Vorlage für Protokolldateien definieren, etwa wie:
# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
Wenden Sie dann diese Vorlage auf Nachrichten an, die von Remote-Hosts kommen:
# Remote Logging
$RuleSet remote
*.* ?RemoteHost