在传输过程中TCP虽然比UDP可靠,但是是明文传输,Rsyslog提供了一个比TCP更可靠的传输,RELP。RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用。
使用RELP需要两部,开启omrelp模块,在传输时将TCP的@,替换成“:omrelp:”(黄颜色部分)
1.安装RELP:
yum install -y rsyslog-relp
2.用法:
*.* :omrelp:server:port
例子:
*.* :omrelp:192.168.0.1:514
vi /etc/rsyslog.d/ssh-log.conf
# rsyslog v5 configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### ### 注意 ### #配置文件中的中文注释为方便初学者,并非官方提供,中文注释可能会引起奇怪的问题。 #建议:在使用中删除所有的中文注释,如需注释可以用英文(实在不行就拼音) #装载imfile模块 $ModLoad imfile #可靠的RELP协议输出模块(防止信息丢失) $ModLoad omrelp #检查日志文件间隔(秒) $InputFilePollInterval 1 #指定日志文件的拥有者 $FileOwner root # 使用自定义的格式 $ActionFileDefaultTemplate myformat #状态文件保存路径,文件被用来记录扫描日志位置等信息。 #在测试中服务器收集不到日志,是因为被扫描过的文档不会再次上传,可以清空该目录缓存 $WorkDirectory /var/spool/rsyslog # 定义队列文件名 #$ActionQueueFileName relpact # 重试次数, -1 表示无限重试 #$ActionResumeRetryCount -1 # rsyslog关闭时将队列内容存盘,防止数据丢失 #$ActionQueueSaveOnShutdown on $PrivDropToGroup root ##日志格式模板: $template BiglogFormatTomcat,"%msg%\n" ## Tomcat的catalina.out路径,根据实际情况修改: #读取日志文件 $InputFileName /var/log/ssh.log #写入日志附加标签字符串 $InputFileTag ssh-log #日志类型,local5必须和日志收集服务器里过滤器facility(local5)里local5名字一样。 $InputFileFacility local5 #定义记录偏移量数据文件名 $InputFileStateFile stat-ssh-log #日志等级 $InputFileSeverity info #回写偏移量数据到文件间隔时间(秒) $InputFilePersistStateInterval 1 #激活读取,可以设置多组日志读取,每组结束时设置本参数。以示生效。 $InputRunFileMonitor #提交日志到不同服务器时单独在此指定服务器IP:port, #如都提交在同一服务器只需在rsyslog.conf里指定一次即可 # local5.* :omrelp:192.168.1.251:514
3.重启rsyslog服务生效
#service rsyslog restart
参考文章:
http://blog.163.com/bull_linux/blog/static/2138811422013101494729839/
转载于:https://blog.51cto.com/wutou/1766224