在现代IT运维中,集中管理服务器日志是保障系统安全、快速定位故障和满足合规要求的重要手段。对于使用RockyLinux作为操作系统的服务器来说,通过内置的
rsyslog服务可以轻松实现日志的远程集中管理。本教程将手把手教你如何配置一台日志服务器(接收端)和多台客户端(发送端),即使你是Linux新手也能轻松上手。
一、什么是日志远程集中管理?
日志远程集中管理是指将多台服务器产生的系统日志、应用日志等统一发送到一台专门的日志服务器进行存储、分析和监控。这样做的好处包括:
避免单台服务器宕机导致日志丢失 便于统一审计与安全分析 简化日志查询和故障排查流程 满足等保、GDPR等合规性要求
二、准备工作
你需要准备以下环境:
至少两台安装了 RockyLinux 8/9 的服务器 其中一台作为日志服务器(假设IP为192.168.1.100) 其他作为日志客户端(例如IP为
192.168.1.101、
192.168.1.102等) 确保防火墙允许 UDP/TCP 514 端口通信(建议使用 TCP 更可靠)
三、配置日志服务器(接收端)
1. 登录到你的日志服务器(192.168.1.100),确认
rsyslog已安装:
2. 编辑 rsyslog 配置文件,启用 TCP 监听: 在文件中找到以下两行(通常被注释掉),取消注释并修改为: 3. 创建一个模板,用于按客户端IP分类存储日志(可选但推荐): 4. 重启 rsyslog 服务并设置开机自启: 5. 开放防火墙端口(如果启用了 firewalld): 1. 登录任意一台客户端服务器(如 192.168.1.101),同样确保 rsyslog 已安装。 2. 编辑客户端的 rsyslog 配置文件: 3. 在文件末尾添加以下行,将所有日志发送到日志服务器(使用 TCP 协议): 说明:单个 4. 重启客户端的 rsyslog 服务: 在客户端执行一条测试日志: 然后在日志服务器上查看对应目录: 进入该目录即可看到来自客户端的日志文件。 - 使用 TLS 加密日志传输,防止敏感信息泄露 通过以上步骤,你已经成功搭建了一个基于 RockyLinux 的日志远程集中管理系统。这项技术不仅能提升你的运维效率,也是构建安全、可靠 IT 基础设施的重要一环。掌握 远程日志集中、rsyslog配置 和 系统日志监控 技能,将为你在 DevOps 或 SRE 职业道路上打下坚实基础。sudo dnf install rsyslog -y sudo vi /etc/rsyslog.conf # provides TCP syslog receptionmodule(load="imtcp")input(type="imtcp" port="514") # 在 /etc/rsyslog.conf 文件末尾添加$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"*.* ?RemoteLogs& stop sudo systemctl restart rsyslogsudo systemctl enable rsyslog sudo firewall-cmd --permanent --add-port=514/tcpsudo firewall-cmd --reload 四、配置日志客户端(发送端)
sudo vi /etc/rsyslog.conf *.* @@192.168.1.100:514 @
表示 UDP,两个 @@
表示 TCP。推荐使用 TCP 保证日志不丢失。sudo systemctl restart rsyslog 五、验证日志是否成功传输
logger "This is a test message from client" ls /var/log/remote/# 应该能看到以客户端主机名命名的文件夹 六、进阶建议
- 配合 ELK(Elasticsearch + Logstash + Kibana)或 Grafana Loki 实现可视化分析
- 定期轮转和清理日志,避免磁盘爆满
- 设置告警规则,对关键错误日志实时通知结语
