温馨提示×

ubuntu syslog怎么屏蔽噪声

小樊
53
2026-09-14 06:14:10
栏目: 智能运维

在 Ubuntu 里,“syslog 噪声”通常指 系统日志(/var/log/syslog、journalctl)里大量重复、无意义或你不关心的消息。下面按常见场景 + 实用做法来说明,从简单到进阶。


一、先确认你用的是哪种日志系统

Ubuntu 现在默认是 systemd-journald + rsyslog(或部分版本只用 journald)。

ps aux | grep -E 'rsyslog|systemd-journal'

二、快速屏蔽“某服务的日志噪声”(最常用)

1️⃣ 用 journalctl 过滤(不改配置,临时)

journalctl -u nginx --since today
journalctl -p err   # 只看错误

长期不看某服务:

journalctl -u noisy-service --priority=warning

三、屏蔽 rsyslog 中的噪声(/var/log/syslog)

2️⃣ 丢弃特定程序/关键词的日志

编辑:

sudo vim /etc/rsyslog.conf
# 或
sudo vim /etc/rsyslog.d/99-block-noise.conf

示例(屏蔽 cron / dhclient 噪声):

:programname, contains, "dhclient" stop
:programname, contains, "cron" stop

或按内容屏蔽:

:msg, contains, "USB" stop

重启:

sudo systemctl restart rsyslog

✅ 这些日志 不会再写入 /var/log/syslog


四、降低 journald 日志级别(推荐)

3️⃣ 只记录 warning 以上

sudo vim /etc/systemd/journald.conf

修改:

MaxLevelStore=warning
MaxLevelSyslog=warning

重启:

sudo systemctl restart systemd-journald

五、限制日志大小,防止“噪声占满磁盘”

SystemMaxUse=200M
SystemKeepFree=100M

六、屏蔽内核日志噪声(dmesg)

4️⃣ 提高内核 loglevel

sudo dmesg -n 3

永久:

sudo vim /etc/sysctl.conf
kernel.printk = 3 4 1 3

七、Docker / Kubernetes 噪声(常见)

Docker 日志太多:

journalctl -u docker --priority=err

或限制 docker 日志大小:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

八、如果你愿意,我可以:

  • ✅ 帮你看一段真实 syslog 噪声
  • ✅ 帮你写精准的 rsyslog 屏蔽规则
  • ✅ 按 **Ubuntu 版本(20.04 / 22.04 / 24.04)**给配置

你可以直接贴一段日志或说“哪类噪声最多”。

0 踩