gpt4 book ai didi

linux - 更改 docker 日志消息位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:18 27 4
gpt4 key购买 nike

我遇到了 docker logging 的问题,在阅读了很多资源后没有找到解决方案:有没有办法在 /var/log/messages 中丢弃 docker daemon 的消息并选择另一个地点?

最佳答案

好的,我知道这个问题很老了,但我认为它没有得到很好的回答,也没有给出正确的答案。

首先,将消息保存到特定位置的原因始于 rsyslog 配置 (/etc/rsyslog.conf) 中的以下行:

$ModLoad imjournal # provides access to the systemd journal

因此,因为 docker 将信息保存到 systemd 日志,它以 /var/log/messages 结束。

为了能够将其保存到其他地方,您必须在 /etc/rsyslog.d/docker.conf 中创建如下规则。

$FileCreateMode 0644
template(name="DockerLogFileName" type="list") {
constant(value="/var/log/docker/")
property(name="syslogtag" securepath="replace" \
regex.expression="docker/\\(.*\\)\\[" regex.submatch="1")
constant(value="/docker.log")
}
if $programname == 'dockerd' then \
/var/log/docker/combined.log
if $programname == 'dockerd' then \
if $syslogtag contains 'docker/' then \
?DockerLogFileName
else
/var/log/docker/no_tag/docker.log
$FileCreateMode 0600

我在这里找到了这个配置的信息: https://www.simulmedia.com/blog/2016/02/19/centralized-docker-logging-with-rsyslog/

关于linux - 更改 docker 日志消息位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44522024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com