温馨提示×

ubuntu syslog怎么配置

小樊
46
2026-09-05 04:38:55
栏目: 智能运维

在 Ubuntu 中,syslog 通常由 rsyslog(默认)或 syslog-ng 提供。下面以最常用的 rsyslog 为例,讲清楚“怎么配置”。


一、确认使用的是 rsyslog

ps -ef | grep rsyslog
# 或
systemctl status rsyslog

如果看到 rsyslogd 在运行,就是 rsyslog。


二、rsyslog 配置文件位置

文件 / 目录 作用
/etc/rsyslog.conf 主配置文件
/etc/rsyslog.d/*.conf 子配置文件(推荐在这里改)
/var/log/ 日志存放目录

三、基本配置语法

1️⃣ 日志规则格式

<设备>.<优先级>    <动作>

设备(facility)示例

  • auth, authpriv
  • cron
  • daemon
  • kern
  • mail
  • user
  • *(所有)

优先级(severity)

debug < info < notice < warning < err < crit < alert < emerg

示例

*.info;mail.none;authpriv.none   /var/log/messages
authpriv.*                       /var/log/secure

四、常见配置示例

✅ 1. 将所有日志写入自定义文件

sudo vim /etc/rsyslog.d/10-myapp.conf
# 来自 myapp 的日志
local0.*    /var/log/myapp.log

程序里用 local0 设备写日志即可。


✅ 2. 按级别分离日志

*.err    /var/log/error.log
*.info   /var/log/info.log

✅ 3. 远程日志(集中式日志)

服务端(接收日志)

sudo vim /etc/rsyslog.conf

取消注释:

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

module(load="imtcp")
input(type="imtcp" port="514")
sudo systemctl restart rsyslog

客户端(发送日志)

sudo vim /etc/rsyslog.d/20-remote.conf
*.* @@192.168.1.100:514

(@ = UDP,@@ = TCP)


✅ 4. 日志轮转(防止爆盘)

sudo vim /etc/logrotate.d/rsyslog

示例:

/var/log/myapp.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
}

五、重启与测试

sudo systemctl restart rsyslog

测试:

logger -p local0.info "test message"
tail -f /var/log/myapp.log

六、syslog-ng(如果你用的是它)

如果你用的是 syslog-ng:

  • 配置目录:/etc/syslog-ng/
  • 主配置:/etc/syslog-ng/syslog-ng.conf

七、排查问题

sudo rsyslogd -N1     # 检查配置语法
journalctl -u rsyslog

如果你能告诉我:

  • ✅ Ubuntu 版本
  • ✅ 想做什么(本地 / 远程 / 应用日志 / 审计)
  • ✅ 用的是 rsyslog 还是 syslog-ng

我可以给你更精确的配置模板。

0 踩