Erstellen Sie mit rsyslog für jeden Host eine separate Syslog-Datei

Erstellen Sie mit rsyslog für jeden Host eine separate Syslog-Datei

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

verwandte Informationen