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