温馨提示×

centos syslog为何报错

小樊
37
2026-09-27 02:43:53
栏目: 智能运维

CentOS 里 syslog 报错是一个非常常见但原因很多的问题,需要先看具体报错内容才能精确定位。下面我按最常见原因 + 排查方法给你一个系统性的说明。


一、先确认你用的是哪种 syslog

CentOS 不同版本用的日志服务不一样:

  • CentOS 6 及以前:syslog / rsyslog
  • CentOS 7 / 8 / Stream:默认是 rsyslog(兼容 syslog)
ps aux | grep rsyslog
systemctl status rsyslog

二、最常见报错原因汇总

1️⃣ rsyslog 服务未启动或崩溃

报错示例

Failed to start System Logging Service
rsyslogd: exit on signal 15

原因

  • 配置错误
  • 磁盘满
  • 内存不足

排查

systemctl status rsyslog
journalctl -xe

2️⃣ 配置文件语法错误(最常见)

报错示例

rsyslogd: error: syntax error on line 12
rsyslogd: configuration error

检查配置

rsyslogd -N1

✅ 这个命令专门用来检查配置文件语法

常见错误:

  • 少了分号 ;
  • 模块未加载
  • *.info 写错

3️⃣ 日志文件权限或目录问题

报错示例

rsyslogd: could not open log file '/var/log/xxx.log': Permission denied

原因

  • SELinux
  • 文件被删
  • 权限不对

解决

ls -l /var/log
restorecon -Rv /var/log

4️⃣ 磁盘空间不足(非常常见)

报错示例

No space left on device
rsyslogd: file write error

检查

df -h
du -sh /var/log/*

清理

journalctl --vacuum-size=200M

5️⃣ SELinux 阻止 syslog

报错示例

AVC denied rsyslog_t

排查

ausearch -m avc -ts recent
setenforce 0   # 临时关闭测试

6️⃣ 远程 syslog 配置错误

如果你配置了:

*.* @@logserver:514

可能问题:

  • 防火墙
  • 服务端未开 514
  • DNS 解析失败

三、快速自检清单 ✅

systemctl status rsyslog
rsyslogd -N1
df -h
ls -Z /var/log
journalctl -u rsyslog

四、如果你愿意,我可以更精确帮你

你可以直接贴出:

  1. CentOS 版本
  2. 完整报错信息
  3. /etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf 相关配置

我可以直接帮你改配置、定位根因。

0 踩