【forwarding】怎么把客户端的日志转发到服务器【日志转发】【rsyslog服务】

需求:为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那边的输出

相关推荐
承渊政道1 小时前
Linux系统学习【进程控制:进程创建、终止与等待、进程程序替换、自主shell命令行解释器详解】
linux·服务器·c++·学习·ubuntu·bash·远程工作
志起计算机编程1 小时前
挖掘单节点Clickhouse极致性能上限
服务器·开发语言·python
Kurisu5751 小时前
深度拆解:从 Linux 内核 Namespace 与 Cgroups 洞察容器技术的底层本质
java·linux·运维
llf_cloud1 小时前
docker compose滚动部署实践
运维·docker·容器
liulilittle1 小时前
Linux SS快速诊断命令
linux·运维·智能路由器
田里的水稻1 小时前
OE_ssh密钥_密钥种类和分别
运维·ssh
feng14562 小时前
OpenSREClaw - 从 AIOps 到 RDaaS
运维
行者-全栈开发2 小时前
【运维安全】CVE-2026-46333:Linux内核ptrace权限提升漏洞深度解析与修复指南
运维·linux内核·权限提升·ptrace·cve-2026-46333·ssh-keysign-pwn·安全修复
晚风吹红霞2 小时前
Linux下的趣味编程 —— 进度条、Git版本控制与GDB调试实战
linux·运维·git