Linux
rsyslog over RELP 在 Ubuntu 18.04 上失敗
在 Ubuntu 18.04 和 rsyslogd 8.32 上,日誌在沒有 RELP 的情況下通過 tcp 正確發送,配置如下:
伺服器
$$ 192.168.1.201 $$ (/etc/rsyslog.conf):
module(load="imuxsock") # provides support for local system logging $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 module(load="imklog" permitnonkernelfacility="on") $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $RepeatedMsgReduction on $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup syslog $WorkDirectory /var/spool/rsyslog $IncludeConfig /etc/rsyslog.d/*.conf :programname, isequal, "example" { $template RemoteServer, "/var/log/remote/%FROMHOST-IP%/%HOSTNAME%/%SYSLOGFACILITY-TEXT%_%PROGRAMNAME%.log" *.* ?RemoteServer stop }
客戶端(/etc/rsyslog.d/50-default.conf)
auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog kern.* -/var/log/kern.log mail.* -/var/log/mail.log mail.err /var/log/mail.err module(load="imfile" mode="inotify") input(type="imfile" File="/home/user/*.log" Tag="david" Ruleset="uprule" addMetadata="on" Facility="local0") ruleset(name="uprule"){ :syslogtag, isequal, "example" { :msg, contains, "HELLO" { local0.* /var/log/testlog_error.log local0.* @@192.168.1.201:514 } stop } }
當我嘗試實現 RELP 協議時,它不會將日誌發送到伺服器。
在客戶端載入 omrelp
module(load="omrelp")
並編輯該local0.* @@192.168.1.201:514
行local0.* :omrelp:192.168.1.201:514
在伺服器上:
module(load="imrelp") input(type="imrelp" port="514" ruleset="RemoteLogProcess") ruleset(name="RemoteLogProcess") { #Actions with the message... }
有什麼建議可以讓它發揮作用嗎?
謝謝!
如果沒有看到您在伺服器上使用的完整配置文件,我的第一個建議是確保您沒有在同一埠上傳入 imtcp 和 imrelp。由於它們都使用會導致問題的 TCP。
你檢查過日誌嗎?您收到任何錯誤消息嗎?您可以通過執行檢查這一點
journalctl -r -u rsyslog