使用 rsyslog 為每個主機建立單獨的 syslog 文件

使用 rsyslog 為每個主機建立單獨的 syslog 文件

我有一個系統日誌伺服器(在 RHEL 7.4 上運行 rsyslog),它整合了來自我的網路設備的所有系統日誌。它正在偵聽連接埠 TCP/514。

我想將每個裝置的日誌重定向到專用目錄中的不同檔案(基於其 IP 位址),而不是將它們全部放入/var/log/messages.我怎樣才能做到這一點?

答案1

似乎它記錄在 rsyslog 網站上: https://www.rsyslog.com/storing-and-forwarding-remote-messages

總結一下:

您應該為日誌檔案定義一個模板,例如:

# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"

然後將此模板套用到來自遠端主機的訊息:

# Remote Logging
$RuleSet remote
*.* ?RemoteHost

相關內容