Der Dateiname in rsyslog kann entweder statisch oder dynamisch sein. Letzteres ist nützlich, wenn Sie Nachrichten automatisch anhand bestimmter Nachrichtenkriterien in verschiedene Dateien aufteilen möchten. Ich brauche aufgeteilte Protokolle abhängig von der IP-Adresse, etwa: 10.10.10.10.log. Warum funktioniert das nicht? Kann ich etwas anderes verwenden, um es zu erstellen? Vielleicht ein Python-/Bash-Skript?
Meine Konfigurationsdatei sieht so aus: [rsyslog v5]
#### RULES ####
local6,local5.* /var/log/systems/device-all.log
<=15.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
$template DynamicFile,"/var/log/systems/host-%HOSTNAME%.log"
*.* -?DynamicFile
local6,local5.* /var/log/systems/device-all.log
Antwort1
Ich denke, dass Sie zunächst die Vorlage festlegen müssen als
$template DynamicFile,"/var/log/systems/host-%fromhost-ip%.log"
weil Sie eine Trennung nach IP wünschen. Als nächstes denke ich, dass der richtige Wert für die Protokollierung ist
*.* ?DynamicFile