在传输过程中TCP虽然比UDP可靠,但是是明文传输,Rsyslog提供了一个比TCP更可靠的传输,RELP。RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用。
使用RELP需要两部,开启omrelp模块,在传输时将TCP的@,替换成“:omrelp:”(黄颜色部分)
1.安装RELP:
1
|
yum
install
-y rsyslog-relp
|
2.用法:
*.* :omrelp:server:port
例子:
*.* :omrelp:192.168.0.1:514
1
|
vi
/etc/rsyslog
.d
/ssh-log
.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# 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服务生效
1
|
#service rsyslog restart
|
参考文章:
http://blog.163.com/bull_linux/blog/static/2138811422013101494729839/
http://kumu-linux.github.io/blog/2013/08/28/rsyslog-remote/
本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1766224