Linux

將日誌發送到同一台機器上的 rsyslog 和 logstash,但避免重複發送數據

  • August 31, 2016

我有一種情況,我想在同一台機器上的兩個不同埠(兩個不同的服務)上接收 UDP 流量,並希望避免重複發送數據。

所以,這就是想法:

(rsyslog 客戶端)—-(網路)—>(10540 rsyslog 和 11540 logstash)

rsyslog 和 logstash 在同一台機器上。

我需要在這兩個服務之前提供一些可以為它們提供相同數據的服務。理想情況下,這將與上述服務位於同一台機器上。可以將所有數據發送到多個目的地或某種埠鏡像機制的 L4 平衡器之類的東西。或任何其他可以達到目的的東西。

這樣做的原因是我正在收集 linux 審計日誌,並希望將其中一些保存到 Graylog(使用 logstash)和其他文件系統。我嘗試使用 logstash 來做到這一點,但它與儲存在磁碟上的日誌格式混淆,並且它們對於 aureport、ausearch 和 ausummary 工具不可讀。

還沒有找到一種方法來修復格式 whitin logstash 以便這些工具可以讀取。

我正在使用 CentOS7。我無權訪問網路設備。

感謝您的建議。

使用 rsyslog,您可以使用omfwd 模組將日誌發送到 logstash。將類似這樣的內容添加到您的 rsyslog 伺服器(不是客戶端):

action(type="omfwd" Target="127.0.0.1" Port="11540" Protocol="udp")

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