【摘要】 ELK 是Elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash 和 Kibana。
一、关于ELK
1.1 ELK简介
ELK 是Elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash和Kibana。
- Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能
- Logstash是一个用来搜集、分析、过滤日志的工具
- Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据
1.2 ELK日志处理流程
上图展示了在Docker环境下,一个典型的ELK方案下的日志收集处理流程:
- Logstash从各个Docker容器中提取日志信息
- Logstash将日志转发到ElasticSearch进行索引和保存
- Kibana负责分析和可视化日志信息
由于Logstash在数据收集上并不出色,而且作为Agent,其性能并不达标。基于此,Elastic发布了beats系列轻量级采集组件。
这里我们要实践的Beat组件是Filebeat,Filebeat是构建于beats之上的,应用于日志收集场景的实现,用来替代Logstash Forwarder的下一代Logstash收集器,是为了更快速稳定轻量低耗地进行收集工作,它可以很方便地与Logstash还有直接与Elasticsearch进行对接。
本次实验直接使用Filebeat作为Agent,它会收集我们在第一篇《Docker logs & logging driver》中介绍的json-file的log文件中的记录变动,并直接将日志发给ElasticSearch进行索引和保存,其处理流程变为下图,你也可以认为它可以称作 EFK。
二、ELK套件的安装
本次实验我们采用Docker方式部署一个最小规模的ELK运行环境,当然,实际环境中我们或许需要考虑高可用和负载均衡。
首先拉取一下sebp/elk这个集成镜像,这里选择的tag版本是640(最新版本已经是7XX了):
docker pull sebp/elk:640
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐