rsyslog的三種傳輸協議服務器
rsyslog 能夠理解爲多線程加強版的syslog.網絡
rsyslog提供了三種遠程傳輸協議,分別是:多線程
基於傳統UDP協議進行遠程日誌傳輸,也是傳統syslog使用的傳輸協議;性能
可靠性比較低,但性能損耗最少, 在網絡狀況比較差,spa
或者接收服務器壓力比較高狀況下,可能存在丟日誌狀況。線程
在對日誌完整性要求不是很高,在可靠的局域網環境下能夠使用。日誌
基於傳統TCP協議明文傳輸,須要回傳進行確認,可靠性比較高;code
但在接收服務器宕機或者二者之間網絡出問題的狀況下,會出現丟日誌狀況。orm
這種協議相比於UDP在可靠性方面已經好不少,而且rsyslog原生支持,配置簡單,server
同時針對可能丟日誌狀況,能夠進行額外配置提升可靠性,所以使用比較廣。
RELP(Reliable Event Logging Protocol)是基於TCP封裝的可靠日誌消息傳輸協議;
是爲了解決TCP 與 UDP 協議的缺點而在應用層實現的傳輸協議,也是三者之中最可靠的。
須要多安裝一個包rsyslog-relp以支持該協議。
配置文件通常不會直接修改主配置文件,在/etc/rsyslog.d目錄下建立新的配置文件,rsyslog會自動來加載
(1)UDP傳輸配置
服務端建立配置文件udp.conf
# server configure $Modload imudp $UDPServerRun 514 $AllowedSender UDP, 10.0.0.0/16 #設置白名單 $template log_location, /var/log/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%.log $template log_format, "%fromhost-ip% %msg%\n" #把非本地傳輸的日誌按照指定的文件路徑及格式保存 :fromhost-ip, !isequal, "172.0.0.1" -?log_location;log_format #已經匹配處理的內容,再也不進行其餘處理 & ~
客戶端配置:
*.* @10.0.0.1:514
(2)TCP傳輸配置
服務端修改UDP爲TCP
客戶端修改:
*.* @@10.0.0.1:514
(3)RELP傳輸配置
$ sudo yum install rsyslog-relp(客戶端和服務端)
服務端修改
$Modload imrelp $UDPServerRun 514
客戶端修改
*.* :omrelp:10.0.0.1:514