温馨提示×

如何过滤debian message信息

小樊
38
2026-09-01 02:23:07
栏目: 智能运维

在 Debian 系统中,“message 信息”通常指 系统日志 / 内核消息 / 服务日志。常见来源包括:

  • dmesg(内核消息)
  • /var/log/syslog
  • /var/log/messages
  • journalctl(systemd 日志)
  • 应用自身日志

下面按常见场景说明如何“过滤”这些信息。


一、使用 dmesg 过滤内核消息

1. 按关键字过滤

dmesg | grep usb

2. 过滤错误级别

dmesg --level=err,warn

3. 实时查看并过滤

dmesg -w | grep eth0

二、使用 journalctl 过滤 systemd 日志(推荐)

1. 按服务过滤

journalctl -u nginx

2. 按时间过滤

journalctl --since "2026-01-21 10:00" --until "2026-01-21 12:00"

3. 按优先级(错误/警告)

journalctl -p err

4. 按关键字

journalctl | grep "OutOfMemory"

5. 实时过滤

journalctl -f | grep sshd

三、过滤 /var/log 中的 message 信息

1. 查看并过滤 syslog

grep "error" /var/log/syslog

2. 实时跟踪

tail -f /var/log/syslog | grep ssh

3. 只显示某类信息(如认证)

grep "authentication failure" /var/log/auth.log

四、屏蔽 / 不显示某些 message(过滤掉噪音)

方法 1:grep -v 反向过滤

dmesg | grep -v "Bluetooth"
journalctl | grep -v "systemd-resolved"

方法 2:journalctl 排除某服务

journalctl -u '!systemd-timesyncd'

五、减少某些 message 的产生(从源头)

1. 调整内核 log 级别

cat /proc/sys/kernel/printk

修改示例:

echo "3 4 1 3" > /proc/sys/kernel/printk

2. 配置 rsyslog 过滤

编辑:

/etc/rsyslog.conf

示例(忽略 cron 信息):

cron.* stop

六、常见需求对照表

需求 命令
只看错误 journalctl -p err
看某程序 journalctl -u 程序名
实时看 journalctl -f
排除某词 grep -v 关键词
看内核 dmesg

如果你能具体说明:

  • dmesg / syslog / journalctl
  • 查看 / 屏蔽 / 减少 哪类 message?

我可以给你更精确的命令。

0