ELK 需求背景:web
为何要用到ELK:windows
通常咱们须要进行日志分析:直接在日志文件中 awk grep就能够获取想要的信息。可是规模较大时,些方法效率很低。安全
日志归档,文本搜索,多维度查询 ==>> 须要集中化日志管理服务器
创建集中式日志收集系统,将全部节点上的日志统一收集,管理,访问。 分布式部署架构,不禁的服务模式部署在不一样的服务器上,问题出现时,大部分状况须要根据问题暴露关键信息,定位到具体的服务器与服务模块,构建一套集中式日志系统,能够提升定位问题效率。restful
需求:网络
ELK组件简介架构
是三个开源软件缩写,分别为:Elasticsearch, Logstash, Kibana 。都是开源软件。如今还新增了一个Beats,它是一个轻量级的日志收集处理工具Agent, Beats占用资源少,适合于各个服务器上搜集日志后传输给Logstash. 目前加了Beats工具因此已经更名为Elastic Stack.并发
Elasticsearch运维
Elasticsearch是个开源分布式搜索引擎,提供搜集,分析,存储数据三大功能。它的特色有:分布式,零配置,自动发现,索引自动分版,索引副本机制,restfull风格接口,多数据源,自动搜索负载等。elasticsearch
Logstash
Logstash 主要是用来日志的搜集,分析,过滤日志的工具支持大量的数据获取方式。通常工做方式为c/s架构,client端安装在须要收集日志的主机上,server端负责将收到各节点进行过滤,修改等操做一并发到elasticsearch上。
Kibana
Kibana 也是一个开源和免费的工具,Kibana能够为Logstash和Elasticsearch提供日志分析友好的web界面,能够帮助汇总,分析和搜索重要数据日志。
Beats
Beats 是一个轻量级日志采集,家族有6个成员,早期的ELK架构中使用Logstash收集,解析日志,可是Logstash对内存,cpu, io 等资源消耗高。 而Beats所占系统的CPU,内存能够忽略不计。
ELK Stack (5.0版本后) -->> ELk Stack + Beats
x-pack 工具
提供安全,警报,监控,报表,图表于一身的扩展包,是收费的。