Ana*_*oly 3 linux logging docker
我遇到了 docker 日志记录问题,在阅读了很多资料后没有找到解决方案:有没有办法丢弃 docker 守护进程的消息/var/log/messages并选择另一个位置?
小智 6
好吧,我知道这个问题很老了,但我认为它没有得到很好的回答,也没有给出正确的答案。
首先,它将消息保存到该特定位置的原因始于 rsyslog 配置 ( /etc/rsyslog.conf) 中的以下行:
$ModLoad imjournal # provides access to the systemd journal
Run Code Online (Sandbox Code Playgroud)
因此,由于 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
Run Code Online (Sandbox Code Playgroud)
我在这里找到了此配置的信息: https: //www.simulmedia.com/blog/2016/02/19/centralized-docker-logging-with-rsyslog/
| 归档时间: |
|
| 查看次数: |
14369 次 |
| 最近记录: |