温馨提示×

怎么过滤Debian message

小樊
47
2026-08-11 09:53:30
栏目: 智能运维

在 Debian 系统中,“过滤 message”通常指过滤系统日志(journal / syslog 中的消息)过滤 dmesg 内核消息。下面按常见场景给你汇总几种做法。


一、过滤 systemd 日志(journalctl)

Debian 默认使用 systemd-journald 记录日志。

1️⃣ 按服务过滤

journalctl -u ssh.service
journalctl -u nginx.service

2️⃣ 按时间过滤

journalctl --since "2025-01-01" --until "2025-01-10"
journalctl --since "1 hour ago"

3️⃣ 按优先级(级别)过滤

journalctl -p err
journalctl -p warning

优先级:

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

4️⃣ 按关键字过滤

journalctl | grep "error"
journalctl -u ssh | grep "Failed"

5️⃣ 实时查看并过滤

journalctl -f | grep "eth0"

二、过滤 dmesg(内核消息)

1️⃣ 按级别过滤

dmesg --level=err,warn

2️⃣ 按关键字过滤

dmesg | grep -i usb
dmesg | grep -i "out of memory"

3️⃣ 实时查看

dmesg -w

三、过滤 /var/log/syslog 或 /var/log/messages

Debian 通常使用 rsyslogsyslog-ng

1️⃣ 使用 grep 过滤

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

2️⃣ 实时查看

tail -f /var/log/syslog

四、在 rsyslog 中永久过滤日志(高级)

如果你是想不让某些日志被记录,可以配置 rsyslog。

示例:忽略某个程序的日志

sudo nano /etc/rsyslog.d/ignore-program.conf

内容:

:programname, isequal, "some-program" stop

然后重启:

sudo systemctl restart rsyslog

五、常见需求速查表

需求 命令
只看错误 journalctl -p err
看某个服务 journalctl -u 服务名
看内核错误 dmesg --level=err
实时过滤 journalctl -f | grep xxx
不记录某日志 rsyslog 规则

如果你能具体说明:

  • 系统日志 / 内核日志 / 应用日志
  • 查看 还是 屏蔽
  • 日志来源(systemd / rsyslog / dmesg)

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

0