温馨提示×

ubuntu syslog为何启动失败

小樊
35
2026-08-15 23:59:39
栏目: 智能运维

Ubuntu 中 syslog 启动失败 常见原因有多种,下面按最常见 → 较少见的顺序给你一个排查思路。你可以逐条对照,基本都能定位问题。


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

Ubuntu 不同版本默认不同:

Ubuntu 版本 默认日志服务
≤ 14.04 rsyslog
16.04+ rsyslog(仍常见)
18.04+ rsyslog / journald
20.04+ rsyslog(可选)
22.04+ rsyslog 或完全用 journald

先确认:

systemctl status rsyslog

如果提示:

Unit rsyslog.service could not be found

说明 rsyslog 没装,不是启动失败,而是不存在。


二、最常见原因及解决方法

1️⃣ rsyslog 服务未安装(最常见)

sudo apt update
sudo apt install rsyslog
sudo systemctl enable rsyslog
sudo systemctl start rsyslog

2️⃣ 端口 514 被占用(UDP/TCP)

rsyslog 默认监听 514 端口,如果被占用会启动失败。

查看:

sudo ss -lntp | grep 514
sudo ss -lnup | grep 514

解决方式:

  • 停止占用程序
  • 或修改 rsyslog 配置:
sudo nano /etc/rsyslog.conf

注释掉:

# module(load="imudp")
# input(type="imudp" port="514")

然后:

sudo systemctl restart rsyslog

3️⃣ 配置文件语法错误

这是最常见“启动失败但不知道为什么”的原因

检查配置:

sudo rsyslogd -N1

✅ 正常输出类似:

rsyslogd: version ...

❌ 错误会直接提示哪一行有问题。


4️⃣ 日志目录或文件权限错误

rsyslog 需要写:

  • /var/log
  • /var/log/syslog
  • /var/log/messages

检查权限:

ls -ld /var/log
ls -l /var/log/syslog

修复:

sudo chown syslog:adm /var/log/syslog
sudo chmod 640 /var/log/syslog
sudo systemctl restart rsyslog

5️⃣ systemd-journald 冲突(Ubuntu 16+)

Ubuntu 使用 systemd-journald,如果 rsyslog 和 journald 冲突:

查看:

systemctl status systemd-journald

解决方式(推荐):

sudo nano /etc/rsyslog.conf

确保有:

module(load="imjournal")

或关闭 journald 转发:

sudo systemctl mask systemd-journald-dev-log.socket

6️⃣ 磁盘空间满(非常常见)

df -h

如果 /var/ 100%:

清理日志:

sudo journalctl --vacuum-size=100M
sudo rm -f /var/log/*.gz

7️⃣ AppArmor 阻止 rsyslog

查看:

sudo dmesg | grep apparmor

临时测试:

sudo systemctl stop apparmor
sudo systemctl restart rsyslog

三、快速排错命令(强烈推荐)

systemctl status rsyslog
journalctl -xe
sudo rsyslogd -N1

status / journalctl 输出贴出来,我可以精确告诉你哪一行出错。


四、如果你愿意,我可以进一步帮你

你可以直接回复:

  1. Ubuntu 版本(lsb_release -a
  2. systemctl status rsyslog 输出
  3. 报错截图或日志

我可以 逐行帮你分析

0