资讯专栏INFORMATION COLUMN

使用 syslog 处理多个 Docker 容器的日志

moven_j / 2766人阅读

摘要:可运行的和基础的指令已经在一个小型的仓库里。然后我们可以启动任何容器,到容器里面去对于一个教育示例,你可以这样做容器将把日志消息发送到,其实际是通过创建。你可以通过使用运行另外一个容器来查看日志,以及检查在里面的文件。

  

注:该文作者 jpetazzo,该文章的原文为 Multiple Docker containers logging to a single syslog

这里有一个简单方法展示了怎样在一个容器中运行 syslog ,然后发送多台其他容器的 syslog 消息到另外一台。

可运行的 Dockerfile 和基础的指令已经在一个小型的 github 仓库里:https://github.com/jpetazzo/syslogdocker。

这个构思非常的简单。

首先,我们使用以下的规格参数表构建容器:

已经安装了 rsyslogd,并且是作为默认的命令

/dev 被定义成一个卷

/var/log 被定义成一个卷

这里有这样的容器的 Dockerfile

FROM ubuntu:14.04
RUN apt-get update -q
RUN apt-get install rsyslog
CMD rsyslogd -n
VOLUME /dev
VOLUME /var/log

然后,我们启动容器;但是我们使用了一个显式的主机 bind-mount,例如:

docker run --name syslog -d -v /tmp/syslogdev:/dev syslog

为什么要使用显式的主机 bind-mount?因为当 syslog 启动的时候, 容器将创建 /dev/log。然后我们想得到那个 socket 并且在我们未来的容器中 bind-mount ,不用 bind-mount 整个 /dev。如果我们仅仅使用 --volumes-from,我们将得到整个 /dev 。它现在暂时不会产生重大的影响,但是当我们后续做一些设想的工作(像增加一个普通的 devices ),可能会把事情搞砸,因此让我们细粒度一些。

Docker 的后续版本可能允许细粒度的 --volumes-from

然后我们可以启动任何容器,bind-mounting /dev/log 到容器里面去:

docker run -v /tmp/syslogdev/log:/dev/log myimage somecommand

对于一个教育示例,你可以这样做:

docker run -v /tmp/syslogdev/log:/dev/log ubuntu logger hello

容器将把日志消息发送到 /dev/log,其实际是通过 syslog 创建 socket 。

你可以通过使用 --volumes-from syslog 运行另外一个容器来查看日志,以及检查在 /var/log 里面的文件。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26341.html

相关文章

  • 使用ELK处理Docker日志(一)

    摘要:编者的话产品经理为了纪念四岁生日,撰写一系列文章,介绍如何使用收集和处理环境日志。在将日志发送到的上下文中,使用日志驱动可能是最简单的方法。如果使用或日志记录驱动程序,则需要将定义为输入。 [编者的话] Daniel Berman ( Logz.io 产品经理)为了纪念 Docker 四岁生日,撰写一系列文章,介绍如何使用 ELK 收集和处理 Dockerized 环境日志。小数今天...

    singerye 评论0 收藏0
  • 如何在 Rancher 中统一管理容器日志

    摘要:在中默认开启端口用于侦听发送过来的日志报文。至此,在中如何部署一套完整系统已经介绍完了,下面我将介绍如何将容器日志发送到中。下面我将介绍如何收集容器日志。目前日志显的杂乱无序。,现在我们再去查看发现我们的容器日志已经展示在这里了。 相信大家对于容器和 docker 这个概念并不陌生,很高兴的是 docker 为我们提供了多种log-driver。 showImg(https://se...

    whinc 评论0 收藏0
  • 数人云工程师手记 | 容器日志管理实践

    摘要:容器内文件日志平台支持的文件存储是,避免了许多复杂环境的处理。以上是数人云在实践容器日志系统过程中遇到的问题,更高层次的应用包括容器日志分析等,还有待继续挖掘和填坑,欢迎大家提出建议,一起交流。 业务平台每天产生大量日志数据,为了实现数据分析,需要将生产服务器上的所有日志收集后进行大数据分析处理,Docker提供了日志驱动,然而并不能满足不同场景需求,本次将结合实例分享日志采集、存储以...

    saucxs 评论0 收藏0
  • 容器内应用日志收集方案

    摘要:容器化应用日志收集挑战应用日志的收集分析和监控是日常运维工作重要的部分,妥善地处理应用日志收集往往是应用容器化重要的一个课题。日志来源识别采用统一应用日志收集方案,日志分散在很多不同容器的相互隔离的环境中,需要解决日志的来源识别问题。 容器化应用日志收集挑战 应用日志的收集、分析和监控是日常运维工作重要的部分,妥善地处理应用日志收集往往是应用容器化重要的一个课题。 Docker处理日志...

    ormsf 评论0 收藏0
  • 利用ELK搭建Docker容器化应用日志中心

    摘要:概述应用一旦容器化以后,需要考虑的就是如何采集位于容器中的应用程序的打印日志供运维分析。 showImg(https://segmentfault.com/img/remote/1460000014146680); 概述 应用一旦容器化以后,需要考虑的就是如何采集位于Docker容器中的应用程序的打印日志供运维分析。典型的比如 SpringBoot应用的日志 收集。本文即将阐述如何利...

    周国辉 评论0 收藏0

发表评论

0条评论

moven_j

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<