ELK日志平台
ELK 指的是⼀套完整的⽇志集中处理解决⽅案,将Elasticsearch + Logstash + Kibana 三个开源⼯具配合使⽤,以满足用户对⽇志的查询、排序、统计需求。
ELK常见架构
Elasticsearch + Logstash + Kibana
这是一种最简单的架构。通过 Logstash 来收集日志,通过 Elasticsearch 对日志进行分析,将所得结果展示用 Kibana展示。
这种架构也是官网介绍的方式,但是在实际生产中很少使用。
filebeat + Elasticsearch + Logstash + Kibana
相比第一种架构,此架构增加了一个 filebeat 模块。filebeat 是一个轻量的日志收集代理,部署在客户端。
优点: 相较于logstash消耗更少的资源
缺点: 当 logstash 出现故障时,日志会出现丢失。
filebeat + kafka + Elasticsearch + Logstash + Kibana
这种架构是对于第二种架构的完善,通过增加中间件,来避免数据的丢失。
当 Logstash 出现故障,日志还存留在中间件中,当Logstash 再次启动,则会读取中间件中积压的日志。
工作流程
第二种架构方式设计
- Filebeat收集数据
- 将收集数据汇总给Logstash,Logstash进行数据清洗
- 将数据写入Elasticsearch
- 用Kibana进行可视化展示