需求:为node1中被rsyslog所管理的⽇志,全部转发到node2⽇志服务器,同时在本地也要保留,请完成远程⽇志转发,并确保在⽹络不稳定或远程主机不可⽤时依然能正常保存和转发⽇志
node1:192.168.88.101
node2:192.168.88.102
rsyslog的配置文件地址在/etc/rsyslog.conf
打开客户端的rsyslog的服务配置⽂件
vim /etc/rsyslog.conf
node1把下面这几个打开
#放开的这几个的意思是
给这个转发规则的本地缓存文件,起一个唯一的名字前缀 fwdRule1
防止日志太多,把本地磁盘撑爆,超过 1G 后,旧日志会被覆盖
当 rsyslog 服务关闭 / 重启时,把内存里没发完的日志,强制存到磁盘里
队列的存储类型,LinkedList 代表异步链表队列
远程服务器恢复后,重试转发的次数,-1 代表无限次重试
告诉 rsyslog,要把日志转发到 哪哪哪什么端口,用 TCP 协议

加一个

客户端重启rsyslog服务
systemctl restart rsyslog
systemctl status rsyslog
服务端,配置文件中打开tcp接收模块
vi /etc/rsyslog.conf


服务器重启rsyslog服务
systemctl restart rsyslog
systemctl status rsyslog
放行514端口
由于开放了接收⽇志的模块,该模块会占⽤514端⼝⽤于接收⽇志,如果要想成功接收到⽇志,将必须在node2也就是服务器上将514端放⾏
firewall-cmd --add-port 514/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

验证
以测试messages⽇志⽂件为例:
正常的结果是node1和node2的messages都能收到node1的系统⽇志
也就是说服务器和客户端都能接收到客户端的系统日志
服务器和客户端都监视一下messages
tail -f /var/log/messages
客户端也就是node1新打开一个,通过logger命令⽣成⽇志,观察tail那边的输出

