rsyslog 中的檔案名稱可以是靜態的或動態的。如果您要根據某些訊息條件自動將訊息拆分到不同的文件中,則後者很有用。我需要根據 IP 拆分日誌 - 例如:10.10.10.10.log 為什麼它不起作用?我可以使用不同的東西來創建它嗎?也許是 python/bash 腳本?
我的設定檔如下所示:[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
答案1
我認為首先你必須將模板設定為
$template DynamicFile,"/var/log/systems/host-%fromhost-ip%.log"
因為你要根據ip進行分離。接下來我認為日誌記錄的正確值是
*.* ?DynamicFile