如何让 Docker 在 syslog 中包含主机主机名?

如何让 Docker 在 syslog 中包含主机主机名?

我已经配置docker使用syslog日志驱动程序。我的daemon.json如下所示:

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://192.168.1.10:1514",
    "mode": "non-blocking",
    "tag": "{{.ImageName}}/{{.Name}}"
  }
}

根据docker 文档中关于 tag 参数的内容,这应该会产生包含主机设备主机名的输出。但这并没有发生 - 我的日志如下所示(截断):

<27>Dec 22 19:27:44 authelia/authelia/authelia[3693936]: time="2022-12-22T19:27:44-05:00" level=info msg="...

我可以只将主机名写入标签参数,但我想在多台机器上使用此配置。我遗漏了什么吗?

答案1

我找到了问题所在。解决方案(像往常一样)是阅读更多文档。

https://docs.docker.com/config/containers/logging/syslog/#options

syslog-format The syslog message format to use. If not specified the local UNIX syslog format is used, without a specified hostname. Specify rfc3164 for the RFC-3164 compatible format, rfc5424 for RFC-5424 compatible format, or rfc5424micro for RFC-5424 compatible format with microsecond timestamp resolution.

如果您未指定格式,它将省略主机名。

相关内容