Redhat

將系統的所有日誌發送到一個特定的 syslog 本地設施 (local1-7)

  • December 2, 2015

我想將 syslog 本地設施分配給特定的作業系統,這樣我就可以對日誌伺服器上的傳入日誌進行排序(例如 local1 用於 Windows 日誌,local2 用於 RedHat 日誌等)。它在 Windows 上執行良好,但我被困在我的 RedHat 系統上。

我可以在 rsyslog 中的 RHEL 上指定日誌應該發送到哪個本地(1-7)設施嗎?(例如將特定係統的所有日誌發送到 .local2)

您通常不能使用“正常”的 syslogd 來做到這一點,因為它違反了 syslog 設施的設計。Windows 日誌轉發器以這種方式工作,因為 Windows 日誌事件沒有類似 Unix 的工具,並且為整個伺服器分配一個是最簡單的解決方案。

在 Unix 上,每條日誌消息都有自己的設施屬性來區分同一主機上的不同服務。稍後,甚至中央日誌伺服器也可以通過主機和設施組合的過濾器來辨識守護程序。

您計劃需要一個系統日誌轉發器來重寫該設施。這當然是可能的,例如 syslog-ng 具有重寫規則,並且更大的工具(如 logstash)也應該支持它——但我建議不要這樣做。你最終會得到你自己的站點本地設計,與常見的做法背道而馳,使未來對日誌系統的每一次更改都變得更加困難。

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