我們的網路中設備遍佈各處。我想做這樣的事情:
池1 { 192.168.1.1-192.168.1.20, 192.168.1.50 } 池2 { 192.168.1.21-192.168.1.40, 192.168.1.66 }
如果來自 pool1 則執行此操作
如果來自 pool2 則這樣做
這樣我就可以讓 Mac 的日誌看起來像 Mac 日誌,Linux 日誌看起來像 Linux 日誌,Cisco 日誌看起來像 Cisco 日誌,等等。
答案1
答案2
這對我有用:
# accept logging for remote hosts on a per-ip-address basis
$template DirectoryPerHost,"/var/log/REMOTEHOSTS/%fromhost-ip%/%syslogfacility-text%.log"
if ( ( $fromhost-ip != "127.0.0.1" ) and ( $fromhost-ip != "::1" ) ) then {
?DirectoryPerHost
} else {
whatever you want to do with local log files here
}
您可以使用其他變數來代替 fromhost-ip - 有關更多信息,請參閱 Radu 連結到的文檔。
Radu 是正確的,您需要最近的 rsyslog 才能完成此操作。
如果您陷入 RHEL6 或其重建版本之一,您可以使用作業系統中的 rsyslog7 軟體包來取代預設(舊的)rsyslog。預設版本不支援此語法,但 v7 支援。