Log-Files
如何使用 rsyslog 將 /var/log 之外的特定日誌文件轉發到遠端伺服器?
如何將消息從特定日誌文件(例如
/www/myapp/log/test.log
客戶端)轉發rsyslog
到遠端rsyslog
伺服器?此日誌文件位於目錄之外/var/log
。
只需在 /etc/rsyslog.conf 中設置一個 imfile 規則
#/etc/rsyslog.conf $ModLoad imfile $InputFileName /data/mysql/error.log $InputFileTag mysql-error $InputFileStateFile stat-mysql-error $InputFileSeverity error $InputFileFacility local3 $InputRunFileMonitor local3.* @@hostname:<portnumber>
這將監視一個文件並保存到 syslog 中的 local3 工具。然後您可以將所有數據從 local3 設備發送到您的遠端伺服器。您可能還希望將以下內容添加到您的 rsyslog conf(通常是 Ubuntu 上的 /etc/rsyslog.d/50-default.conf),以不將 local3 工具保存到 /var/log/syslog:
#/etc/rsyslog.d/50-default.conf *.*;auth,authpriv.none,local1.none,local2.none,local3.none,local4.none,local5.none,local6.none -/var/log/syslog
此外,我鼓勵閱讀以下 rsyslog 文件以獲得更高級的過濾: