如何在mesos中聚合所有docker容器的日志

时间:2015-07-28 03:42:50

标签: node.js api docker mesos marathon

我在节点中编写了多个微服务,微服务安装在docker容器中,我们使用Mesos + Marathon进行聚类。

如何在不同实例上聚合所有容器(微服务)的日志。

3 个答案:

答案 0 :(得分:3)

我们也在使用Docker + Mesos,并将所有日志发送到日志分析服务(它是我工作的公司所提供的服务,http://logz.io)。有几种方法可以实现这一目标:

  • 在每个docker中都有一个日志托运代理 - 像rsyslog,nxlog,logstash,logstash-forwarder这样的代理 - 该代理会将数据发送到中央日志记录解决方案
  • 创建一个运行托运代理的Docker(如rsyslog,nxlog,logstash,logstash-forwarder),该代理从每台机器上的所有Docker读取日志并将它们发送到中心位置 - 这是我们的路径。 ;重新考虑

答案 1 :(得分:2)

这是一个广泛的问题,但我建议您设置弹性搜索,Logstash,Kibana堆栈(ELK)

https://www.elastic.co/products/elasticsearch

https://www.elastic.co/products/logstash

https://www.elastic.co/products/kibana

然后,在每个容器上,您可以运行logstash forwarder/shipper将日志发送到您的logstash前端。

日志存储在弹性搜索中,然后使用Kibana或Elastic Search API

搜索它们

希望它有所帮助。

答案 2 :(得分:1)

我也在做一些Docker + Mesos + Marathon工作,所以,我想,我将面临同样的疑问。

我还不知道是否还有任何原生解决方案。但是elastic.io的人们就他们如何解决这个问题开了一个博客。

这里是链接 - Log aggregation for Docker containers in Mesos / Marathon cluster