Centos中如何將第三方日誌重新導向到日誌伺服器

Centos中如何將第三方日誌重新導向到日誌伺服器

我想設定一個簡單的日誌伺服器來接受來自所有客​​戶端的日誌。我不是說標準系統日誌,例如 /var/log/mail 、訊息、啟動等。

例如/appdir/log/error.log。

我在網路上看到了很多貼文;大多數人建議使用 rsyslog 或 syslog-ng。到目前為止,我已經能夠重定向標準系統日誌而不是應用程式日誌。我使用的是centos 5/6環境。

答案1

我見過兩種主要的方法。

首先,許多應用程式將能夠本地寫入系統日誌主機。這是最好的路線。在其他情況下,我將使用基本腳本 - 如下所示的作品。

sudo tail /my/app/log | nc -w0 -u 192.168.1.1 514

編輯 - 如果您在產生日誌的系統上執行 syslog-ng,確實有一種方法可以在 syslog-ng 中處理此問題。根據需要替換命名約定和目標。 rsyslog 也可以使用類似的東西,但它更笨重(恕我直言)。

source s_trbdk3 {
   file("/var/log/trbdk3.log" flags(no-parse) program_override("trbdk3")  );
};
log{
    source(s_trbdk3);
    destination( d_mesg );
 };

答案2

rsyslog 的imfile輸入模組可以:

提供將任何標準文字檔案轉換為系統日誌訊息的能力。標準文字檔案是由可列印字元組成的文件,行之間以 LF 分隔。

你可以閱讀官方文檔了解更多。

我從來沒有嘗試過,它的效率可能不是很高,但聽起來它可以完成這項工作。

syslog-ng 似乎能夠做類似的事情file()來源驅動程式這個例子建議像這樣的來源聲明:

source s_all {  
    file("/path/to/your/file" follow_freq(1) flags(no-parse)); 
};  

相關內容