Syslog-ng+Rsyslog收集日志:RELP可靠传输,替代UDP、TCP(五)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

在传输过程中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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
缓存 网络协议 网络性能优化
UDP实现可靠传输
UDP实现可靠传输
|
12月前
|
缓存 网络协议 算法
UDP可靠性传输协议kcp
UDP可靠性传输协议kcp
178 1
|
网络协议 应用服务中间件 nginx
nginx配置tcp协议代理的日志
nginx配置tcp协议代理的日志
232 0
|
23天前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
60 3
|
21天前
|
网络协议 网络性能优化
详解TCP/IP协议以及UDP
详解TCP/IP协议以及UDP
28 0
|
6月前
|
网络协议 Java
Java的Socket编程:TCP/IP与UDP深入探索
Java的Socket编程:TCP/IP与UDP深入探索
92 0
|
2月前
|
网络协议 网络安全 Python
Python 通过UDP传输超过64k的信息
Python 通过UDP传输超过64k的信息
34 0
|
2月前
|
网络协议 网络安全 Python
Python 通过UDP传输超过64k的信息
Python 通过UDP传输超过64k的信息 原创
47 0
|
4月前
|
存储 关系型数据库 分布式数据库
PolarDB-SCC使用问题之为什么PolarDB-SCC选择基于RDMA的日志传输
PolarDB-SCC使用问题之为什么PolarDB-SCC选择基于RDMA的日志传输
|
4月前
|
网络协议 网络性能优化
用udp协议传输文件
【7月更文挑战第18天】使用 UDP 协议传输文件 UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输协议。尽管它不像 TCP 那样提供可靠的传输和拥塞控制,但在某些特定场景下,例如对实时性要求较高、能容忍一定数据丢失的情况,也可以用于文件传输。