在 Linux 系统中,日志记录是系统运维和故障排查的重要工具。而 rsyslog 是目前大多数现代 Linux 发行版(包括 RockyLinux)默认使用的高性能日志系统。本文将手把手教你如何在 RockyLinux 上配置与管理 rsyslog 服务,即使是 Linux 新手也能轻松上手。

一、什么是 rsyslog?
rsyslog 是一个开源的日志处理系统,支持高吞吐量、模块化设计、远程日志传输、数据库写入等功能。它取代了传统的 syslog,并成为 RHEL 系列(包括 CentOS、RockyLinux)的标准日志服务。
通过合理配置 rsyslog,你可以:
集中管理多台服务器的日志 按日志级别或来源分类存储 将日志转发到远程服务器或数据库 提升系统安全性和可维护性二、检查并启动 rsyslog 服务
在 RockyLinux 中,rsyslog 通常已预装。我们首先确认其状态:
# 查看 rsyslog 是否安装rpm -q rsyslog# 查看服务状态systemctl status rsyslog# 如果未运行,启动并设置开机自启sudo systemctl start rsyslogsudo systemctl enable rsyslog
如果未安装,可使用以下命令安装:
sudo dnf install rsyslog -y
三、rsyslog 配置文件详解
rsyslog 的主配置文件位于
/etc/rsyslog.conf,此外还有
/etc/rsyslog.d/目录用于存放额外的配置片段。
打开主配置文件:
sudo vi /etc/rsyslog.conf
关键配置说明:
$ModLoad imuxsock:加载本地 Unix socket 模块,用于接收本地日志。 $ModLoad imklog:加载内核日志模块。 *.* /var/log/messages:表示所有设施(facility)的所有级别(priority)日志都写入 /var/log/messages。 authpriv.* /var/log/secure:认证相关日志写入 secure 文件。四、自定义日志规则示例
假设你想将某个应用(比如 nginx)的日志单独保存到
/var/log/nginx.log,可以这样做: 确保你的应用使用 syslog 发送日志(例如通过 local0 到 local7 设施)。 在
/etc/rsyslog.d/目录下创建新配置文件:
sudo vi /etc/rsyslog.d/nginx.conf
添加以下内容:
# 将 local0 设施的日志写入 nginx.loglocal0.* /var/log/nginx.log# 可选:不重复写入 messages& stop
保存后,重启 rsyslog 使配置生效:
sudo systemctl restart rsyslog
五、常见问题排查
日志未写入? 检查 SELinux 是否阻止写入:ausearch -m avc -ts recent配置语法错误? 使用
rsyslogd -N1测试配置文件。 日志文件权限问题? 确保 rsyslog 用户(通常是 root 或 syslog)有写权限。
六、总结
掌握 RockyLinux rsyslog配置 和 rsyslog日志管理 是系统管理员的基本功。通过本文,你已经学会了如何启动服务、理解配置结构、编写自定义规则,并能进行基础排错。无论是单机运维还是构建集中式日志系统,这些知识都是基石。
希望这篇 rsyslog服务教程 能帮助你在 RockyLinux系统日志 管理之路上更进一步!
