Linux

我可以使用 syslog-ng 鏡像遠端伺服器上的所有日誌文件而不指定每個文件嗎?

  • February 7, 2017

我可以使用 syslog-ng 將所有日誌文件鏡像到遠端伺服器而不指定每個文件嗎?兩者都執行 syslog-ng OSE 版本 3.5.2。file("/var/log/*") 設置似乎很有希望,但它似乎不會遞歸,並且在 syslog() 源的另一側重構文件名似乎令人生畏。

我應該放棄這個並做某種腳本或完全使用 rsync 或其他東西嗎?

源本質上是具有有限快閃記憶體儲存的嵌入式 Linux 電腦,而其他的則相當龐大。它們連接到同一個 1GB 的快速交換機。嵌入式 Linux 在沒有發送大部分日誌的情況下崩潰是不行的,因此某種持續更新似乎是合適的。

這取決於。

如果您有應用程序直接登錄到 /var/log/ 下的文件,那麼您有以下可能性

  • 重新配置應用程序以登錄 syslog 而不是文件,然後 syslog-ng 可以讀取傳入的消息並將它們轉發到您的日誌伺服器。如果您的應用程序支持登錄到 syslog,那麼這是推薦的方法。
  • syslog -ng 商業版支持萬用字元文件源(/var/log/* 等)。該功能目前在 syslog-ng 開源版中不可用
  • 作為一種解決方法,您可以使用 syslog-ng 的 confgen 外掛(我不確定它在 3.5 版本中是否可用,但它肯定在 3.6 和更高版本中)。使用confgen 外掛,您可以執行在 syslog-ng 配置文件中生成一個部分的腳本:您可以使用它來將 /var/log 中的文件列為文件源(請注意,此解決方案不會從 / 添加新文件var/log 自動執行,您必須為此定期重新啟動 syslog-ng)。

順便說一句,如果可能的話,您可能希望將您的 syslog-ng 更新到較新的版本,3.5 相當舊並且有些錯誤。最近的 3.9 版本支持磁碟緩衝區和其他不錯的功能。

高溫高壓

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