【问题标题】:Change docker log messages location更改 docker 日志消息位置
【发布时间】:2017-06-13 12:48:13
【问题描述】:

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

【问题讨论】:

标签: linux logging docker


【解决方案1】:

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

首先,它将消息保存到该特定位置的原因始于 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/

【讨论】:

    【解决方案2】:

    配置 rsyslog 以将 Docker 日志隔离到它们自己的文件中。为此,请创建 /etc/rsyslog.d/10-docker.conf 并将以下内容复制到文件中。

    # Docker logging
    daemon.* {
     /var/mylog
     stop
    }
    

    总而言之,这会将守护程序类别的所有日志写入 /var/mylog,然后停止处理该日志条目,因此不会将其写入系统默认 syslog 文件。

    【讨论】:

    • 这是一个复制粘贴的答案。为什么不发布original article 的链接?
    • 它不会将 docker 日志隔离在自己的文件中,而是将所有守护进程日志隔离到自己的文件中
    【解决方案3】:

    根据the Docker documentation,您可以指定不同的驱动程序作为 docker 守护程序的命令行参数,或者(最好)在daemon.json 配置文件中。有几个驱动程序可用,例如对于 Syslog、基于 HTTP 的日志记录、...

    更新

    这是 Syslog 的示例配置部分(来自文档):

    {
      "log-driver": "syslog",
      "log-opts":  {
        "syslog": "udp://1.2.3.4:1111"
      }
    }
    

    【讨论】:

    • 问题是关于dockerd
    • @VyacheslavShvets 这就是我提到为 Docker daemon 提供命令行参数的原因。还是我误解了你的评论?
    • 这些选项are default options for containers,不适用于dockerd 本身
    • @VyacheslavShvets 重新阅读文档后,我想你是对的;这确实只会影响容器的日志,而不是守护进程的日志。
    猜你喜欢
    • 2016-02-20
    • 2015-10-25
    • 2018-02-07
    • 2015-04-15
    • 2015-07-22
    • 2017-12-07
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多