Logging

如何設置 rsyslog 以將所有日誌發送到多個遠端伺服器?

  • November 11, 2019

我試圖讓 rsyslog 將所有日誌發送到 2 個遠端伺服器,但如果第一個失敗,rsyslog 似乎只發送到輔助伺服器。

*.* @@server1
*.* @@server2

如果我將上述內容放在 /etc/rsyslog.conf 中,只要 server1 啟動,server2 就不會收到任何日誌。無論如何,我如何告訴 rsyslog 發送到兩台伺服器?

另外,作為額外的獎勵,如果遠端伺服器出現故障,我想使用 2 個不同的本地“緩衝區”文件進行本地儲存。

轉發到多台伺服器

然而,重要的是要知道全套指令構成一個動作。因此,您不能簡單地添加(僅)第二條轉發規則,還需要複製規則配置。請注意,為第二個操作使用不同的隊列文件名,否則會弄亂系統。

因此,實際上,您必須使用 2 個不同的本地隊列。

配置工作目錄。

$WorkDirectory /var/spool/rsyslog

配置您的轉發規則。

$ActionQueueType LinkedList
$ActionQueueFileName Forward1
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server1

$ActionQueueType LinkedList
$ActionQueueFileName Forward2
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server2

引用自:https://serverfault.com/questions/522341