一、ELK 概述
1、ELK 简介
ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch(ES)、Logstash和 Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。
●ElasticSearch(ES)∶是基于Lucene(一个全文检索引擎的架构,相当于一个检索数据库)开发的分布式存储检索引擎,用来存储各类日志。
Elasticsearch是用Java开发的,可通过RESTful Web接口,让用户可以通过浏览器与Elasticsearch通信。
Elasticsearch是个分布式搜索和分析引擎,优点是能对大容量的数据进行接近实时的存储、搜索和分析操作。
●Logstash∶作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置,一般会发送给Elasticsearch。
Logstash由JRuby语言编写,运行在Java虚拟机(JVM)上,是一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出。Logstash 具有强大的插件功能,常用于日志处理。
但受到java虚拟机的影响,需要占用较大的内存。因为对内存需求较大,会影响到前端等其他服务,所以部分企业只将其作为数据格式处理,格式化的软件,不再做数据收集工作,用Filebeat等代替收集工作
●Kiabana∶是基于 Node.js 开发的展示工具,可以为Logstash和ElasticSearch提供图形化的日志分析Web界面展示,可以汇总、分析和搜索重要数据日志。
●Filebeat∶轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装Filebeat,并指定目录与日志格式,Filebeat就能快速收集数据,并发送给 logstash进行解析,或是直接发给Elasticsearch存储,性能上相比运行于JVM 上的 logstash 优势明显,是对它的替代