Docker运行时日志占用syslog过多资源

26

我已经谷歌了这个问题,但到目前为止还没有解决方法。我的syslog在/var/log下每秒都被如下消息刷屏:

Aug 27 20:58:27 mail-server systemd[1]: run-docker-runtime\x2drunc-moby-e4bfb13118b141bf232cf981fe9b535706243c47ae0659466b8e6667bd4feceb-runc.YHoxmJ.mount: Succeeded.
Aug 27 20:58:27 mail-server systemd[1083]: run-docker-runtime\x2drunc-moby-e4bfb13118b141bf232cf981fe9b535706243c47ae0659466b8e6667bd4feceb-runc.YHoxmJ.mount: Succeeded.
Aug 27 20:58:27 mail-server systemd[8395]: run-docker-runtime\x2drunc-moby-e4bfb13118b141bf232cf981fe9b535706243c47ae0659466b8e6667bd4feceb-runc.YHoxmJ.mount: Succeeded.
Aug 27 20:58:28 mail-server systemd[1]: run-docker-runtime\x2drunc-moby-5dc4f4e0b3cbd5e5bfbcc88b8d22f92575706b7c3603847ccb2fd4e56f188f99-runc.gt51Ek.mount: Succeeded.
Aug 27 20:58:28 mail-server systemd[1083]: run-docker-runtime\x2drunc-moby-5dc4f4e0b3cbd5e5bfbcc88b8d22f92575706b7c3603847ccb2fd4e56f188f99-runc.gt51Ek.mount: Succeeded.
Aug 27 20:58:28 mail-server systemd[8395]: run-docker-runtime\x2drunc-moby-5dc4f4e0b3cbd5e5bfbcc88b8d22f92575706b7c3603847ccb2fd4e56f188f99-runc.gt51Ek.mount: Succeeded.

我正在运行Ubuntu 20.04,而dockerd是由systemd运行的。

如果可能,有人可以帮我找到原因吗?似乎每个容器都会生成这个问题。

最好的祝福,

弗朗西斯


看起来你的容器崩溃了,所以Docker正在重新启动它,但仅凭上面的描述无法确定实际情况。 - Nathanael
2
这些容器一直在运行,而且不会重复启动。并且我的所有容器都是如此。 - francisaugusto
3
我遇到了同样的问题,每30秒记录一次日志。涉及到的容器是一个PostgreSQL/GIS容器(Kartoza docker-postgis),我可以使用psql命令连接它。一切似乎都正常,但我不明白为什么会在syslog中出现这些行。 - MaxiReglisse
2
我有同样的问题,我有两个条目,每个条目大约30秒,并显示以下消息: Dec 17 15:08:14 hpenvym7 systemd[1744]: run-docker-runtime\x2drunc-moby-fbdc7c54b59edb2d2870346b7e023952c53c4c968706c91bb4725283ca65a368-runc.dzDP92.mount: Succeeded. Dec 17 15:08:45 hpenvym7 systemd[1744]: run-docker-runtime\x2drunc-moby-fbdc7c54b59edb2d2870346b7e023952c53c4c968706c91bb4725283ca65a368-runc.FKyKbe.mount: Succeeded. - wnasich
4
我之前也和你们一样处理这个问题,我找到了这篇有用的文章: https://sungup.github.io/2019/12/26/Install-K8s-on-Raspberry-Pi-4.html,请跳转到“Systemd generates many spam messages”,它指向了官方已经发布的问题:https://github.com/docker/for-linux/issues/679 ,其中他们创建了一个新条目“/etc/rsyslog.d/01-blocklist.conf”(debian)作为解决方法来清除系统日志中的垃圾邮件。。所以似乎与systemd的“/src/core/unit.c”有联系。我没有找到其他任何信息,我添加了那行代码,从我的角度看,现在看起来更好了。 - J.Rojas
1个回答

13

这些消息来自systemd本身有关挂载的信息。这在systemd v249中得到了解决;有关详细信息,请参见https://github.com/systemd/systemd/issues/6432

简而言之,该版本的systemd允许通过其单元文件控制该挂载,使用以下内容:

[Mount]
LogLevelMax=0

LogLevelMax设置不仅适用于单元本身,还适用于systemd关于该单元的日志消息。这是在v249中引入的更改。


17
  1. 使用sudo命令编辑/etc/systemd/journald.conf文件,命令为:sudo vim /etc/systemd/journald.conf
  2. 查找、取消注释并更改以下参数: MaxLevelStore=notice MaxLevelSyslog=notice
  3. 重新加载systemd-journald服务,使用命令:sudo systemctl reload systemd-journald
- rPawel
4
@rPawel:使用3. sudo systemctl restart systemd-journald 就可以解决问题。你应该将它添加为答案! - sdittmar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接