温馨提示×

ubuntu syslog怎样过滤

小樊
50
2026-10-19 16:52:44
栏目: 智能运维

在 Ubuntu 中,syslog 通常由 rsyslog(或较新的 systemd-journald + rsyslog)管理。常见“过滤”需求有几种:


一、查看时过滤(不修改配置)

1. 使用 grep 过滤日志

grep "error" /var/log/syslog
grep -i "ssh" /var/log/syslog

2. 使用 journalctl(Ubuntu 16.04+)

journalctl -p err          # 只看错误
journalctl -u ssh          # 某服务
journalctl -t sshd         # 某标签
journalctl --since "2024-01-01" --until "2024-01-02"
journalctl | grep ssh

二、rsyslog 规则过滤(写入时过滤)

配置文件:

/etc/rsyslog.conf
/etc/rsyslog.d/*.conf

1. 按程序名过滤

:programname, isequal, "sshd" /var/log/ssh.log
& stop

2. 按关键字过滤

:msg, contains, "error" /var/log/error.log
& stop

3. 按优先级过滤

*.err    /var/log/errors.log

4. 忽略某些日志

:msg, contains, "heartbeat" stop

修改后重启:

sudo systemctl restart rsyslog

三、只保留需要的日志(丢弃其他)

*.*;auth,authpriv.none -/var/log/syslog

四、常用日志位置

/var/log/syslog
/var/log/auth.log
/var/log/kern.log

五、示例:只记录 SSH 登录

# /etc/rsyslog.d/ssh.conf
:programname, isequal, "sshd" /var/log/ssh.log
& stop

如果你能说清楚:

  • 是查看过滤还是存储过滤
  • 想按 服务 / 关键字 / 级别

我可以给你更精确的配置示例。

0 踩