-
ELK是什么?
- ELK是3个开源产品的组合:
- Elasticsearch
- Logstash
- Kibana
- ELK是3个开源产品的组合:
-
Elasticsearch是一个基于Lucene搜索引擎的NoSQL数据库。
-
Logstash是一个日志管道工具,接受数据输入,执行数据转换,然后输出数据。
-
Kibana是一个界面层,在Elasticsearch之上工作。
-
另外,ELK栈中还包含称为Beats的日志收集器系列工具。
Beats
最开始的架构中,由 Logstash 承担数据采集器和过滤功能,并部署在应用服务器。
由于 Logstash 对大量日志进行过滤操作,会消耗应用系统的部分性能,带来不合理的资源分配问题;
另一方面,过滤日志的配置,分布在每台应用服务器,不便于集中式配置管理。
- 所以就有了Beats。
由于 Beats 的系统性能开销更小,所以应用服务器性能开销可以忽略不计;
另一方面,Beats 可以作为数据采集插件形式工作,可以按需启用 Beats 下不同功能的插件,更灵活,扩展性更强。
例如,应用服务器只启用 Filebeat,则只收集日志文件数据,如果某天需要收集系统性能数据时,再启用 Metricbeat 即可,并不需要太多的修改和配置。
使用场景
- 作为互联网产品的日志系统
- 当然ELK栈也可用于其他方面
- 例如:商业智能、大数据分析等。