Linux 中 syslog 启动失败 的原因很多,通常不是“syslog 本身坏了”,而是环境、配置或权限出了问题。下面按最常见原因 → 排查方法来说明。
不同发行版用的“syslog”不一样:
| 系统 | 使用的日志服务 |
|---|---|
| CentOS 6 / 老系统 | rsyslog / syslogd |
| CentOS 7+ / RHEL 7+ | rsyslog + systemd-journald |
| Ubuntu 16.04+ | rsyslog |
| 新 Ubuntu | systemd-journald(可无 rsyslog) |
查看方式:
ps -ef | grep syslog
systemctl status rsyslog
rsyslogd -N1
如果有报错,说明 /etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf 有问题。
✅ 解决:
如果你配置了:
*.* @remote:514
或:
module(load="imtcp")
input(type="imtcp" port="514")
检查:
ss -lntp | grep 514
✅ 解决:
常见错误:
Permission denied
检查:
ls -ld /var/log
ls -l /var/log/messages
✅ 解决:
chown syslog:syslog /var/log
chmod 755 /var/log
(用户可能是 syslog 或 root)
df -h
✅ 解决:
ausearch -m avc -ts recent
✅ 临时测试:
setenforce 0
✅ 永久解决:
semanage port -a -t syslogd_port_t -p tcp 514
systemctl status rsyslog
journalctl -xe
常见问题:
✅ 解决:
systemctl unmask rsyslog
systemctl enable --now rsyslog
✅ 解决:
rsyslogd -n
systemctl status rsyslog
journalctl -xe
rsyslogd -N1
df -h
ss -lntp
你可以把以下信息发我:
cat /etc/os-release)systemctl status rsyslog 输出我可以直接告诉你具体是哪一行导致的失败。