Skip to content

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 再次启动,则会读取中间件中积压的日志。

工作流程

第二种架构方式设计

参考文档:https://juejin.cn/post/7156897390962671624

  1. Filebeat收集数据
  2. 将收集数据汇总给Logstash,Logstash进行数据清洗
  3. 将数据写入Elasticsearch
  4. 用Kibana进行可视化展示

image-20230628180905414