Clay.io基于Docker来管理服务器日志,架构组合是Docker+Logstash+ElasticSearch,文章对各个工具进行了简单介绍。Clay.io还开源了Docker容器,以帮助开发者快速构建一个分布式的日志系统。
对于一个小团队来说,管理20多台服务器并不是一件简单的事情,当发生故障时,我们需要迅速定位问题。当然我们不能挨个去ssh,这非常耗时间,在Clay.io我们选择使用 Logstash来聚合日志。
Logstash概览
Logstash的部署可以分为两部分,聚合服务器(集群)和客户端服务器,聚合服务器可以通过 logstash包运行,客户端服务器可以通过 logstash-forwarder运行,它负责将日志传输到 logstash实例。这是我们的配置图:
注意 logstash-forwarder不会rotate(分割)日志,日志ratation是一个将老的日志按照大小或者日期存储到buckets的过程,做这项工作的工具是
日志分析
Logstash进程会运行 ElasticSearch和 Kibana来分析日志,ElasticSearch支持多条件查询和过滤日志数据。
注意你不能对外暴露ElasticSearch的端口,以免服务器遭受攻击。我们就曾经被攻击过,解决方案是将我们的基础架构迁移到 Amazon VPC,这样所有的服务都在内网环境中。
Journalist + Scribe
我们已经开源了
我们的Docker容器,这样所有人都可以在几秒钟内构建一个分布式的日志系统。
本文出自:http://www.open-open.com/lib/view/open1418827153120.html