一, Rsyslog 简介
ryslog 是一个快速处理收集系统日志的程序, 提供了高性能, 安全功能和模块化设计. rsyslog 是 syslog 的升级版, 它将多种来源输入输出转换结果到目的地.
Rsyslog 的传输方式有三种:
UDP 传输协议
基于传统 UDP 协议进行远程日志传输, 也是传统 syslog 使用的传输协议;
可靠性比较低, 但性能损耗最少
在网络情况比较差, 或者接收服务器压力比较高情况下, 可能存在丢日志情况.
TCP 传输协议
基于传统 TCP 协议明文传输, 需要回传进行确认, 可靠性比较高;
但在接收服务器宕机或者两者之间网络出问题的情况下, 会出现丢日志情况.
RELP 传输协议
RELP(Reliable Event Logging Protocol) 是基于 TCP 封装的可靠日志消息传输协议;
是为了解决 TCP 与 UDP 协议的缺点而在应用层实现的传输协议, 也是三者之中最可靠的.
对于线上服务器, 为了日志安全起见, 建议使用还是使用 RELP 协议进行传输.
二, 安装
系统一般会默认安装 ,yum install rsyslog -y
如果启用 RELP 传输方式 (yum install rsyslog-relp -y)
查看服务状态 service rsyslog status
启动服务 service rsyslog start
版本查看 rsyslogd -version
三, 实验条件
Rsyslog 服务器 Rsyslog 客户端
实验需要关闭 Rsyslog 服务器和 Rsyslog 客户端的防火墙 (service iptables stop setenforce )
四, 实验步骤
一, UDP 传输方式
1. 首先在服务端设置启用哪种传输模式, 这里采用 UDP 传输模式
VIM /etc/rsyslog.conf
2. 然后在服务端开启传输端口监听
VIM /etc/sysconfig/rsyslog
-r 指定监听端口
-c2 使用兼容模式
3. 重启服务 service rsyslog restart
4. 在客户端设置, 指定日志传输方式, 这里以 UDP 传输
VIM /etc/rsyslog.conf
5. 重启 syslog 服务 service rsyslog restart
6. 测试
在客户端生成一条日志, 看服务器是否接受到这个日志
在客户端生成一条日志
7. 在服务器端用 tail -f /var/log/messages 追踪日志
二, TCP 传输方式
1. 首先在服务端设置启用哪种传输模式, 这里采用 TCP 传输模式
VIM /etc/rsyslog.conf
2. 然后在服务端开启传输端口监听
VIM /etc/sysconfig/rsyslog
3. 重启服务 service rsyslog restart
4. 在客户端设置, 指定日志传输方式, 这里以 TCP 传输
VIM /etc/rsyslog.conf
5. 重启 syslog 服务 service rsyslog restart
6. 测试
在客户端生成一条日志, 看服务器是否接受到这个日志
三, RELP 传输
1. 首先安装 yum install rsyslog-relp -y #需要搭建本地 yum 仓库
2. 在服务端设置启用哪种传输模式, 这里采用 RELP 传输模式
VIM /etc/rsyslog.conf
添加下面两句, 可以查看帮助文档要添加的内容 man rsyslog.conf
3. 然后在服务器端开启传输端口监听
VIM /etc/sysconfig/rsyslog
4. 重启 rsyslog 服务
5. 在客户端安装 rsyslog-relp yum install rsyslog-relp -y
6. 在客户端设置, 指定日志传输方式, 这里以 RELP 传输
添加如下两句
7. 重启 rsyslog 服务
8. 测试
在客户端生成一条日志, 看服务器是否接受到这个日志
来源: http://www.bubuko.com/infodetail-2995155.html