ELK stack阅读整理
1.ELK是什么
Logstash(收集)、Elasticsearch(存储+搜索)、Kibana(展示),我们将这三个组合起来的技术称之为ELK Stack,所以说ELK Stack指的是Elasticsearch(java)、Logstash(jruby)、Kibana技术栈的结合,一个通用的架构如下图所示:
ELK 前面主要靠Logstash来进行收集日志,Logstash将日志上传到Broker上,后面还有一个Logstash用来读取Broker中的日志,再将日志存储到Elasticsearch里面,最后Kibana从Elasticsearch中查询数据生成图表进行展示。(在实际运用中,Logstash进程分为两个不同的角色。运行在服务器上的尽量减轻运行压力,只做读取和转发,这个角色叫做Shipper;运行在独立的服务器上的完成数据解析处理,负责写入Elasticsearch的角色,叫Indexer。)
2.为什么用ELK
和传统的日志处理方案相比,Elastic Stack具有如下优点:
处理方式灵活:Elasticsearch是实时全文索引,不需要像storm那样预先编程才能使用;
配置简易上手:Elastisearch全部采用JSON接口,Logstash是RubyDSL设计,都是目前业界最通用的配置语法设计;
检索性能高效:虽然每次查询都是实时计算,但是优秀的设计和实现基