#1、ELK简介

核心组件:
  1、Elasticsearch
  2、Logstash
  3、kibana

ELasticsearch:
    开源的分布式搜索引擎,具有分布式、配置简单、自动发现、索引自动分片、索引副本机制、
    restful风格接口等。

Logstash:
    是一个完全开源的日志收集及格式化输出的工具,能够对日志进行收集和分析,将其存储供之后
    使用。
    
Kibana:
    为Logstash和Elasticsearch提供友好的用户界面,可以帮助汇总、分析及搜索重要数据日志。


#2、整体架构

wKiom1iYTorDjOzJAAE4QBqS8mM046.png-wh_50

#3、数据流向

wKiom1iYTtKShn9-AACsGeDzJ2A632.png-wh_50

   

 logstash client部署在每一台需要收集日志的服务器上,作为收集日志的客户端。同时进行日志的格式化工作,对字段进行增加或者减少等工作。
 redis服务器作为消息队列服务器,所有从logstash client采集过来的数据都要从redis服务器上走一遍,否则可能在logstash客户端采集的数据量过大的时候,在logstash client和server中不加消息队列服务器,可能会直接将logstash server或者elasticsearch server堵塞,导致整个系统不可用。
 logstash server直接从redis server段获取对应的数据,输出到elasticsearch server集群中。
 elasticsearch server集群将输入的数据进行分析、分片、索引和存储,输出值kibana进行展示。
 kibana直接面向用户进行数据的展示、搜索以及绘图等功能。

#4、相关文档

官网:
官网指南:https://www.elastic.co/guide/index.html
中文手册-elasticsearch:
入门文档:http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html
中文指南-logstash:http://kibana.logstash.es/content/logstash/plugins/filter/metrics.html