10x系列之Clay.io是如何处理日志的

Clay.io基于Docker来管理服务器日志,架构组合是Docker+Logstash+ElasticSearch,文章对各个工具进行了简单介绍。Clay.io还开源了Docker容器,以帮助开发者快速构建一个分布式的日志系统。

10x系列之Clay.io是如何处理日志的

对于一个小团队来说,管理20多台服务器并不是一件简单的事情,当发生故障时,我们需要迅速定位问题。当然我们不能挨个去ssh,这非常耗时间,在Clay.io我们选择使用 Logstash来聚合日志。

Logstash概览

Logstash的部署可以分为两部分,聚合服务器(集群)和客户端服务器,聚合服务器可以通过 logstash包运行,客户端服务器可以通过 logstash-forwarder运行,它负责将日志传输到 logstash实例。这是我们的配置图:

10x系列之Clay.io是如何处理日志的

注意 logstash-forwarder不会rotate(分割)日志,日志ratation是一个将老的日志按照大小或者日期存储到buckets的过程,做这项工作的工具是

日志分析

10x系列之Clay.io是如何处理日志的

Logstash进程会运行 ElasticSearch和 Kibana来分析日志,ElasticSearch支持多条件查询和过滤日志数据。

注意你不能对外暴露ElasticSearch的端口,以免服务器遭受攻击。我们就曾经被攻击过,解决方案是将我们的基础架构迁移到 Amazon VPC,这样所有的服务都在内网环境中。

Journalist + Scribe

我们已经开源了

相关推荐