systemd 日志和 docker

systemd 日志和 docker

我正在使用使用 systemd 和 docker 的 CoreOS。

systemd 和 CoreOS 的一个大问题是它与 docker 的配合并不 100% 好。或者 docker 也并非 100% 好。我遇到的另一个问题是,日志中记录的日志事件似乎来自“docker”,但事实并非如此。它们来自 docker 运行的进程。这通常不会是一个大问题,但是当您将这些日志转发到另一个服务(如 ELK 堆栈)时,您无法确定哪些是 nginx 日志,哪些是其他服务日志。它们的来源都是 docker!

有办法解决这个问题吗?我使用的是 CoreOS Stable 所用的 docker 1.9。因此,我目前还没有直接使用 docker 的 json 输出的权限。

答案1

所有服务文件和 Docker 容器都会将数据插入到 systemd 日志中。如果事件是由 Docker 容器发起的,则进程的来源将记录为 Docker。您可以提交错误这里如果您认为日志应该以不同的方式显示。

回到你的问题,你是否考虑过将 docker 日志转发到 ELK 而不是 systemd 日志?

相关内容